我在输入文件中有一个具有以下格式的列
H6
H7
O4
C4
H8
H9
O5
C5
H10
H11
我希望输出具有以下格式
"a H6"
"a H7"
"a O4"
"a C4"
"a H8"
"a H9"
"a O5"
"a C5"
"a H10"
"a H11"
到目前为止我尝试过awk '{print "a "$1""}' filein > fileout
但输出不是所需的,因为我得到了一列缺少" "
.
答案1
您必须转义 awk 中的双引号。类似的东西可以完成工作
awk '{print "\"a "$1 "\" "}' filein > fileout
答案2
并在 Awk 命令中使用printf
而不是print
输出到一行中。
awk '{printf "\"a "$1"\" "}' inputFile > outputFile
答案3
我只想用sed
这个:
sed 's/^/"a /; s/$/"/' infile > outfile
这会产生:
$ sed 's/^/"a /; s/$/"/' infile
"a H6"
"a H7"
"a O4"
"a C4"
"a H8"
"a H9"
"a O5"
"a C5"
"a H10"
"a H11"
答案4
sed 's/.*/"a &"/' data
&
是整个匹配的文本。