首页 > 解决方案 > 查找 *.txt 文件并通过分隔将其内容重定向到一个文件

问题描述

例如:-

# ls *.txt
a.txt b.txt c.txt
# cat a.txt
sdfsdfsdf
# cat b.txt
kkmkmmkkmk
# cat c.txt
ererererer

我正在尝试查找所有带有 *.txt 的文件,并将其中的内容移动到另一个带有分隔符的文件中。

# cat output.txt
---------------
sdfsdfsdf
---------------
kkmkmmkkmk
---------------
ererererer
---------------

像这样的东西。

标签: linuxbashredirectfind

解决方案


像这样的东西?

for t in *.txt ; do
    cat "$t" >> newfile
    echo '----------------' >> newfile
done

或者,如果您不想在最后一个文件后添加额外的分隔符,请执行以下操作:

first=1
for t in *.txt ; do
    if [ "$first" -ne 1 ]; then
        echo '----------------' >> newfile
    fi
    first=0
    cat "$t" >> newfile
done

推荐阅读