使用awk在一行上打印特定索引的字符

时间:2012-07-09 18:39:48

标签: awk

好吧,所以我知道使用$:

打印一行的特定参数非常简单
$ cat file
hello world

$ awk '{print $1}' file
hello

但是,如果我想要打印2到8的字符怎么办?还是3到7?用awk可以吗?

3 个答案:

答案 0 :(得分:51)

awk '{print substr($0,2,6)}' file

substr()的语法是

substr(string,start index,length)

答案 1 :(得分:3)

是。您可以使用substr功能:

http://www.starlink.rl.ac.uk/docs/sc4.htx/node38.html

在您的情况下 - 对于2到8的打印字符:

echo "hello" | awk '{ print substr( $0, 2, 6 ) }'

结果是:

  

ELLO

答案 2 :(得分:3)

如果Perl是一个选项:

perl -lne 'print substr($_,1,6)' file

输出与@nims

的答案相同