好的打印特定指數的角色,所以我知道它是非常簡單$打印線的具體參數:使用awk來一行
$ cat file
hello world
$ awk '{print $1}' file
hello
但是如果我想通過打印字符2 8?或3至7? awk有可能嗎?
好的打印特定指數的角色,所以我知道它是非常簡單$打印線的具體參數:使用awk來一行
$ cat file
hello world
$ awk '{print $1}' file
hello
但是如果我想通過打印字符2 8?或3至7? awk有可能嗎?
awk '{print substr($0,2,6)}' file
的語法SUBSTR()是
substr(string,start index,length)
是。您可以使用substr
功能:
http://www.starlink.rl.ac.uk/docs/sc4.htx/node38.html
在你的情況 - 打印字符從2到8:
echo "hello" | awk '{ print substr($0, 2, 6) }'
結果是:
ELLO
如果Perl是一個選項:
perl -lne 'print substr($_,1,6)' file
輸出是從相同@nims回答
爲什麼字段分隔符'-F ='\ n''必要?或者是? – Levon 2012-07-09 18:55:47
@Levon,因爲我想OP希望找到整個記錄的子串,而不是字段。 – nims 2012-07-09 19:11:25
我有點困惑,不想爭辯,只是爲了讓自己變得直截了當。 '$ 0'已經是整個當前行,所以如果你正在使用當前整行的子字符串,我不明白爲什麼你必須指定'-F' ..我在這裏錯過了什麼? – Levon 2012-07-09 19:20:57