max {max=NF;s=NR} END {print (,max)}' C.txt 这是 s-6ren">
gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:57 24 4
gpt4 key购买 nike

我有以下代码:

!/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

我的问题是:在我将 nrc 的第 s 个值赋给 awk 之后,我如何在 awk 中选择它的第 s 个值?

如果我用 nrc 填充 (,max) 的空白空间,它会显示所有文件。我尝试过使用 grep、sed、cat,但这些都不能在 awk 中工作。

我只想在打印最长的行后从 nrc 打印第 s 个值。

在 A.txt B.txt 等文件中只有由空格分隔的随机单词。

最佳答案

我会让你把它添加到你的脚本中,因为问题不是很清楚,但这里有一个 split 的例子:

$ awk 'BEGIN{nrc="A.txt B.txt D.txt E.txt F.txt"; s=4; split(nrc,a); print a[s]}'
E.txt

关于linux - 我如何从 awk 中的字符串中选择第 s 个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43303555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com