【发布时间】:2012-10-08 22:15:16
【问题描述】:
我在 ~/data 的子目录中有数千个文件。我希望将所有具有特定扩展名的 csv 文件合并为 .x 并将合并的文件保存到 ~/data/merged.x
我知道我需要将 find、cat 和 >> 与选项 -iname 一起使用,但我发现它很难做到。
提前致谢
【问题讨论】:
我在 ~/data 的子目录中有数千个文件。我希望将所有具有特定扩展名的 csv 文件合并为 .x 并将合并的文件保存到 ~/data/merged.x
我知道我需要将 find、cat 和 >> 与选项 -iname 一起使用,但我发现它很难做到。
提前致谢
【问题讨论】:
find ~/data -name "*.x" | while read file
do
cat $file >> ~/data/merged.x
done
【讨论】:
find ~/data -type f ! -name 'merged.x' -a -name '*.x' -exec cat {} \+ >> ~/data/merged.x
【讨论】:
! -name 'merged.x',它似乎永远运行;当我看到merged.x 文件超过 70GB(应该是 200MB 左右)时,我杀了它。如果没有非条件,您可能会陷入无限循环!
find ./data/ -type f -name "*.c*" | xargs cat > ~/data/merged.x
【讨论】:
merged.x 文件超过 70GB(应该是 200MB 左右)时被杀死。