gpt4 book ai didi

awk - 如果第二行为空则打印文件名

转载 作者:行者123 更新时间:2023-12-05 02:35:04 24 4
gpt4 key购买 nike

文件看起来像这样:

>5BW0 B
CHHHHHHHHHHHHHHHHHHHHHHHCCCCCCEEEEEEEEEECCEEEEEEEEEEECCCCCCEEEEEEEEECCCCCCCHHHHCCEEEEEEEC

但是第二行可以是空的。

我正在尝试查找第二行为空的文件。

到目前为止,我是在 for 循环中想到的:

cat file1 | sed -n '2p' | grep '^$'

问题是我没有保存文件名以便以后打印。我该如何解决这个问题?

最佳答案

使用单个 GNU awk,您可以尝试使用 awk 程序。用 GNU awk 编写和测试。我在这个程序中传递了 2 个名为 file1 和 file2 的输入文件,您也可以根据需要传递文件数。

awk 'FNR==3{nextfile} FNR==2 && !NF{print FILENAME;nextfile}' file1 file2

OR 根据以上 Ed sir 的建议可以缩短为:

awk 'FNR==2{ if (!NF) print FILENAME; nextfile }' file1 file2

解释: 简单地检查文件的第 3 行是否仍然移动到下一个文件(这意味着第 2 行不为空)。然后再检查 2 个条件,如果行是第 2 行并且为空,则打印文件名并移至下一个文件。

注意: 如果您需要查找第 2 行为空的文件并打印其名称,请将上述代码作为 脚本。 awk 代码并将其传递给在 find 命令中运行。

关于awk - 如果第二行为空则打印文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70635579/

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