sfa*_*tor 6 linux bash scripting command-line
我有两组文件夹,其文件具有相同的文件名和结构.文件夹结构是这样的:
\outputfolder\
|---\folder1\
| |---file1.txt
| |---file2.txt
|
|---\folder2\
|---file1.txt
|---file2.txt
Run Code Online (Sandbox Code Playgroud)
所以我需要做的是将这些文件夹中的所有文件(file1.txt与file1.txt等)组合(附加)到outputfolder中的另一个文件中.获取这些组合文件后,我还需要从所有这些组合文件中创建tar.gz文件.
如何在基于Linux的命令行环境中完成此操作?文件夹名称(folder1和folder2等)是可变的,因此需要给出但文件不需要,它应自动组合所有具有相同名称的文件.
此外,这些文件具有列名称的标题,因此我还需要在追加时删除它.
这是一些可以帮助您入门的代码
topdir=outputfolder
dir1=folder1
dir2=folder2
for f in $topdir/$dir1/*.txt
do
outf=$topdir/`basename $f .txt`-concat.txt
cp $f $outf
sed -e '1 d' $topdir/$dir2/`basename $f` >> $outf
done
tar czf foo.tar.gz $topdir/*-concat.txt
Run Code Online (Sandbox Code Playgroud)
编辑:添加了删除第二个文件的标题的部分。