gpt4 book ai didi

linux - 将多个文件的 'awk' 结果发送到同名的新文件

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

我有一个包含文本文件的文件夹。我需要在最后一个单词“Input”之后提取 20 行,并将结果发送到不同文件夹中的同名文件

我使用以下内容:

for i in error/*.log; do awk '/Input/ {n=NR} {a[NR]=$0} END {for (i=n;i<=n+20;i++) print a[i]}' $i > exceeded/`basename $i` done

我做错了什么?

感谢您提前提供帮助

最佳答案

如果文件名中有空格(*.log 的 * 部分),请尝试以下操作:

for i in error/*.log; do awk '/Input/ {n=NR} {a[NR]=$0} END {for (i=n;i<=n+20;i++) print a[i]}' "$i" > "exceeded/`basename \"$i\"`" ; done

此外,我假设“错误”和“超出”目录位于同一目录中(并且“超出”已经存在。)

关于linux - 将多个文件的 'awk' 结果发送到同名的新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532423/

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