我有一行文件:
a
b
c
d
我想cat
将此文件转换为awk
命令以生成如下内容:
letter is a
letter is b
letter is c
letter is d
使用类似的东西:
cat file.txt | awk 'letter is $1'
但它没有按预期打印出来:
$ cat raw.txt | awk 'this is $1'
a
b
c
d
答案 0 :(得分:2)
目前,您没有المال
المال
阻止,因此您的条件会评估两个空变量{ action }
和this
,并将它们与第一个字段is
连接起来,并且检查结果是否为 true (非空字符串)。它是,因此默认操作打印每一行。
听起来你想这样做:
$1
虽然在这种情况下,您也可以使用sed:
awk '{ print "letter is", $1 }' raw.txt
此命令匹配每行的开头并添加字符串。
请注意,我将文件作为参数传递,而不是将sed 's/^/letter is /' raw.txt
与管道一起使用。
答案 1 :(得分:1)
不确定你是否想要sed或awk,但这是在awk中:
$ awk '{print "letter is " $1}' file
letter is a
letter is b
letter is c
letter is d