bash脚本循环浏览不同的文件并执行命令

问题描述 投票:1回答:1

我在目录中有25个文件,都名为xmolout1,xmolout2,...,xmolout25。

这些都是.txt文件,我需要从这些文件copy the last 80 lines到新的.txt文件。

[最好,这些将自动生成正确的数字(取自原始文件,例如xmolout10将生成final10等。]

之后可以删除原始文件。

我是bash脚本的新手,我知道我可以使用tail -80 filename.txt > newfilename.txt复制最后80行,但我不知道如何实现循环。

提前感谢

bash for-loop move
1个回答
2
投票

如果知道要处理的文件数,则可以在循环中使用计数器变量:

for ((i=1; i<=25; i++))
do
    tail -80 "xmolout$i" >> "final$i"
done

如果要与bash以外的其他shell保持兼容,则可以使用以下语法:

for i in {1..25}
do
    tail -80 "xmolout$i" >> "final$i"
done
© www.soinside.com 2019 - 2024. All rights reserved.