我有以下代码:
!/bin/sh
cat $@ > C.txt
awk -v nrc="$*" 'NF>max {max=NF;s=NR} END {print (,max)}' C.txt
这是sh
sh test.sh A.txt B.txt D.txt E.txt F.txt
我的问题是:在将awk
作为值传递给我后,如何在awk中选择nrc的第s个值?
如果我用nrc填充(,max)
的空白区域,它会显示所有文件。我已经尝试过使用grep,sed,cat,但这些都没有在awk中工作。
我只想打印最长的行后从nrc打印第s个值。
A.txt B.txt等文件内部只是用空格分隔的随机单词。
答案 0 :(得分:0)
我会让你把它添加到你的脚本中,因为问题不是那么清楚,但这是split
的一个例子:
$ awk 'BEGIN{nrc="A.txt B.txt D.txt E.txt F.txt"; s=4; split(nrc,a); print a[s]}'
E.txt