我有一个文本文件,每一行都包含这样的字符串:
'abc',
'dog',
'zebra',
我想把它变成这样:
'abc', 'abc',
'dog', 'dog',
'zebra', 'zebra',
在 bash 中如何最好地做到这一点?
最佳答案
你可以调用sed
:
sed -r 's/(.*)/\1 \1/' dupcol.csv
.*
表示重复匹配一行中的任何字符。它周围的 ( )
表示将匹配项存储在第一个寄存器 (\1
) 中。然后输出全匹配两次。
我通常默认使用 sed 的 -r
选项来制作更清晰(扩展)的正则表达式。但是,省略 -r
可以使 &
匹配完整模式。因此,您希望保持完整匹配的这种特殊情况的更简单版本是:
sed -r 's/.*/& &/' dupcol.csv
如果您想就地更改文件,请添加 -i
选项。
关于string - 如何使用 bash 在每一行中复制字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001182/