2017-05-11 22 views
0

我有一些行的文件:使用awk來代替單詞中的文件

a 
b 
c 
d 

我想這個文件catawk命令產生這樣的:使用

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

哪一個是「使用sed替換文件中的單詞」*或*「使用awk打印出文件中的行」的問題? – SiggiSv

+0

這是awk - 道歉的混淆 –

回答

1

不知道,如果你想awk或者sed但這是AWK:

$ awk '{print "letter is " $1}' file 
letter is a 
letter is b 
letter is c 
letter is d 
2

此刻,你有沒有{ action }塊,所以你的條件對兩個空變量thisis,將它們與第一個字段$1連接起來,並檢查結果是否爲true(非空字符串)。這是,所以默認行爲打印每一行。

這聽起來像你想這樣做,而不是:

awk '{ print "letter is", $1 }' raw.txt 

雖然在這種情況下,你可能也只是使用SED:

sed 's/^/letter is /' raw.txt 

此命令每行的開頭匹配和添加字符串。

請注意,我將該文件作爲參數傳遞,而不是使用cat與管道。

+0

謝謝。問題已更正。 –