如何从awk中的字符串中选择第s个值?

时间:2017-04-09 05:55:46

标签: linux bash shell awk sed

我有以下代码:

!/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等文件内部只是用空格分隔的随机单词。

1 个答案:

答案 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