首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bash脚本-目录上的迭代合并文件

bash脚本-目录上的迭代合并文件
EN

Stack Overflow用户
提问于 2012-10-25 23:39:30
回答 1查看 646关注 0票数 0

你好,我想迭代地合并input_directory中的文件,并将合并的文件放在output_directory中。

假设在input_directory中我有: file1.txt,file2.txt,file3.txt

我希望输出目录包含以下文件:

  • merge1.txt :与file1.txt相同
  • merge2.txt :合并file1.txtfile2.txt
  • merge3.txt :合并file1.txtfile2.txtfile3.txt

我几乎没有使用bash脚本的经验,很明显,可以在for循环中使用迭代器来完成,但我不知道如何完成。

谢谢你提前..。

EN

回答 1

Stack Overflow用户

发布于 2012-10-26 16:44:55

存储附加到输出中的前一个文件名,并在下一次迭代期间使用它:

代码语言:javascript
运行
复制
#!/bin/bash

touch prev #a temp variable to hold previous filename
i=1;

for file in $(ls /INPUT/file*); 
do 
   cat /OUTPUT/$prev /INPUT/$file > /OUTPUT/merge$i;
   prev=merge$i;
   let i=i+1
 done

当文件具有相同的前缀时,这段代码利用了ls列出排序文件的优点。如果文件名具有不同的前缀,并且有特定的输出顺序,则可以对其进行修改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13078900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档