Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux中将特定文件合并到文件列表中_Linux - Fatal编程技术网

在Linux中将特定文件合并到文件列表中

在Linux中将特定文件合并到文件列表中,linux,Linux,我有以下文件列表: a1.txt a2.txt b1.txt b2.txt c1.txt c2.txt ... z1.txt z2.txt 我想知道如何编写命令来合并前两个文件a1.txt+a2.txt并作为a.zip输出,类似地,b1.txt+b2.txt将输出b.zip,c1.txt+c2.txt将输出c.zip,等等 谢谢你的帮助 试试这个: {a..z}中i的;执行cat“$i”1.txt>$i.txt;cat“$i”2.txt>>$i.txt;完成 如果您不想合并文件内容,只要将它们

我有以下文件列表:

a1.txt
a2.txt
b1.txt
b2.txt
c1.txt
c2.txt
...
z1.txt
z2.txt
我想知道如何编写命令来合并前两个文件a1.txt+a2.txt并作为a.zip输出,类似地,b1.txt+b2.txt将输出b.zip,c1.txt+c2.txt将输出c.zip,等等

谢谢你的帮助

试试这个:

{a..z}中i的
;执行cat“$i”1.txt>$i.txt;cat“$i”2.txt>>$i.txt;完成

如果您不想合并文件内容,只要将它们放在同一个zip文件中,如果它们的名称以同一个字母开头,您就可以运行

for c in {a..z}; do zip "$c".zip "$c"*.txt; done
如果要先合并a文件、b文件等,然后压缩合并版本,可以运行

for c in {a..z}; do cat "$c"1.txt "$c"2.txt > "$c".txt ;zip "$c".zip "$c".txt; done

请注意,这将为从a到z的所有字母创建ZIP,如果您只需要一个子集,例如a-f,您可以仅在{a..f}上迭代。

可能的重复:
对于{a..z}中的x;做完成
。尝试编写一个循环,一次读取一行,只输出一个文件。如果你能让它工作,试着修改它,一次读两行。嗨,谢谢你的帮助。实际上,我的文件列表的格式不是a.txt,b.txt。。。z、 我只是想简化一下。如果文件名是:abc1.txt、abc2.txt、ijk1.txt、ijk2.txt等,我该如何处理这个问题。谢谢如果您想连接abc1.txt和abc2.txt等中的内容,您可以像这样迭代所有前缀模式,例如:`ls*1.txt`中的文件的
;do pref=`echo$file | cut-d'1'-f1`;file2=“${pref}2.txt”;cat“$file”“$file2”>“${pref}.txt”;完成
只需将行cat“$file”“$file2”>“${pref}.txt”替换为您实际想要对文件执行的操作即可。