在一行上生成重复的字符串

在一行上生成重复的字符串

我有一个包含数百行的文件。以下是 3 行示例。

"A",
"B",
"C",

(引号实际上就在那里。)

我想使用 Linux 实用程序来更改行并在每行上复制原始字符串。例如:

FixedString1 A FixedString2 A
FixedString1 B FixedString2 B
FixedString1 C FixedString2 C

谢谢。

答案1

像这样

$ sed -E 's/^"([A-Z]+)",/FixedString1 \1 FixedString2 \1/' file
FixedString1 A FixedString2 A
FixedString1 B FixedString2 B
FixedString1 C FixedString2 C
$ awk -F'"' '{print "FixedString1 " $2 " FixedString2 " $2}' file
FixedString1 A FixedString2 A
FixedString1 B FixedString2 B
FixedString1 C FixedString2 C
$ perl -F'"' -nE 'say "FixedString1 $F[1] FixedString2 $F[1]"' file
FixedString1 A FixedString2 A
FixedString1 B FixedString2 B
FixedString1 C FixedString2 C 
while IFS='"' read -r _ x _; do echo "FixedString1 $x FixedString2 $x"; done < file
FixedString1 A FixedString2 A
FixedString1 B FixedString2 B
FixedString1 C FixedString2 C

相关内容