好的,所以我知道使用 $ 打印行的特定参数非常简单:
$ cat file
hello world
$ awk '{print $1}' file
hello
但是如果我想打印字符 2 到 8 怎么办?还是 3 到 7?用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 ) }'
结果是:
你好
如果 Perl 是一个选项:
perl -lne 'print substr($_,1,6)' file
输出与@nims 的回答相同