好的打印特定指数的角色,所以我知道它是非常简单$打印线的具体参数:使用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