如何使用 bash 复制每行中的字符串?

Jan*_*and 4 string bash

我有一个文本文件,每一行都包含字符串,如下所示:

'abc',
'dog',
'zebra',
Run Code Online (Sandbox Code Playgroud)

我想让它像:

'abc', 'abc',
'dog', 'dog',
'zebra', 'zebra',
Run Code Online (Sandbox Code Playgroud)

在 bash 中如何最好地做到这一点?

Mic*_*ott 6

您可以致电sed

\n\n
sed -r 's/(.*)/\\1 \\1/' dupcol.csv\n
Run Code Online (Sandbox Code Playgroud)\n\n

表示.*重复匹配一行上的任何字符。它( )周围说将匹配存储在第一个寄存器(\\1)中。然后将完整匹配输出两次。

\n\n

我通常默认使用 sed\xe2\x80\x99s-r选项来制作更清晰(扩展)的正则表达式。但是,省略-r可以&匹配完整的模式。因此,您想要保持完整匹配的这种特殊情况的一个简单版本是:

\n\n
sed -r 's/.*/& &/' dupcol.csv\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您想就地更改文件,请添加该-i选项。

\n