LINUX下shell 如何将文件夹下的所有txt文件输出到一个txt文件下去

如题所述

假设当前目录下有两个.txt文件,分别为1.txt和2.txt,我们希望将这两个文件的内容合并到一个新的3.txt文件中。为此,可以使用以下bash脚本来实现:

#!/bin/bash

echo "开始复制文件..."

find . -name "*.txt" | xargs cat > 3.txt

echo "复制完成!"

这个脚本的作用是首先查找当前目录下所有扩展名为.txt的文件,然后将这些文件的内容通过管道传递给cat命令,最终将所有文件的内容合并到3.txt文件中。

需要注意的是,find命令在查找文件时,需要加上引号,防止因文件名中含有空格或其他特殊字符而导致查找失败。同时,在将文件内容合并到目标文件时,使用管道和xargs命令是必要的。

例如,我们假设当前目录下存在如下文件:

1.txt 内容为 "Hello, World!"

2.txt 内容为 "Hello, Linux!"

执行上述脚本后,3.txt文件的内容将会是:

Hello, World!

Hello, Linux!

这样,我们就成功地将两个.txt文件的内容合并到了一个文件中。
温馨提示:答案为网友推荐,仅供参考
相似回答