bash脚本循环浏览不同的文件并执行命令
我在一个目录中有25个文件,全部命名为xmolout1,xmolout2,xmolout25 这些都是bash脚本循环浏览不同的文件并执行命令,bash,for-loop,move,Bash,For Loop,Move,我在一个目录中有25个文件,全部命名为xmolout1,xmolout2,xmolout25 这些都是.txt文件,我需要将这些文件的最后80行复制到新的.txt文件中 最好,这些将自动生成正确的编号(取自原始文件,例如xmolout10将生成final10等) 之后可以删除原始文件 我是bash脚本的新手,我知道我可以使用tail-80 filename.txt>newfilename.txt复制最后80行,但我不知道如何实现循环 提前感谢如果您知道要处理的文件数量,可以在循环中使用计数器变量
.txt
文件,我需要将这些文件的最后80行
复制到新的.txt文件中
最好,这些将自动生成正确的编号(取自原始文件,例如xmolout10将生成final10等)
之后可以删除原始文件
我是bash
脚本的新手,我知道我可以使用tail-80 filename.txt>newfilename.txt
复制最后80行,但我不知道如何实现循环
提前感谢如果您知道要处理的文件数量,可以在循环中使用计数器变量:
for ((i=1; i<=25; i++))
do
tail -80 "xmolout$i" >> "final$i"
done
你试过什么吗?我把这个问题的确切标题放进搜索引擎,第一次点击给了我答案……我做了,第一次点击提供的一般答案就是这里给出的答案。它和我以前的一样,但我不知道如何自动循环浏览25个文件。。。正如我提到的,我从来没有写过类似于“脚本”的东西。谢谢,第二个答案是本例中最好的选择:)@StevenVanuytsel是的,第二种语法看起来更好,但请记住(在第二种语法中),括号在调用循环之前会展开,因此如果循环太长,它比第一个语法慢。它也不使用变量作为边界。
for i in {1..25}
do
tail -80 "xmolout$i" >> "final$i"
done