首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在移动文件之前合并?

如何在移动文件之前合并?
EN

Stack Overflow用户
提问于 2016-01-12 16:44:02
回答 2查看 51关注 0票数 0

我有一些文件(几百万),我将文件列表保存在files.txt中,如下所示:

代码语言:javascript
复制
/home/user/1.txt
/home/user/2.txt
/home/user/3.txt
/home/user/4.txt
/home/user/5.txt

我需要移动所有,但在移动之前,我也必须合并。

我可以像这样移动:

代码语言:javascript
复制
#!/bin/bash
for files in $(cat files.txt); do
    mv $files /home/user/hop/
done

我可以用cat *合并所有内容,但我需要合并两个,如下所示:

代码语言:javascript
复制
1.txt and 2.txt merge --> 1.txt and move.
3.txt and 4.txt merge --> 3.txt and move.
5.txt                 --> 5.txt and move.

但我必须在移动之前合并/home/user/,而不是/home/user/hop/

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2016-01-12 16:50:09

您可以在移动文件后使用$ cat file1 file2 file3 file4 file5 file6 > out.txt,使用此选项还可以设置要合并的文件的顺序。

同样适用于二进制文件。

票数 1
EN

Stack Overflow用户

发布于 2016-01-12 17:00:04

您可以使用以下脚本:

代码语言:javascript
复制
while read -r f; do
   if ((++i % 2)); then
      p="$f"
   else
      cat "$f" >> "$p"
      mv "$p" /home/user/hop/
      rm "$f"
      unset p
   fi
done < list.txt

[[ -n $p ]] && mv "$p" /home/user/hop/
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34739003

复制
相关文章

相似问题

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