在特定目录中拆分大于500kb的文件

时间:2016-07-29 10:46:57

标签: linux shell find

我想分割大于500kb的文件。首先,我使用find列出返回“./filename”的所有此类文件find . -maxdepth 1 -name '*.log' -size +500k,然后根据我的要求编写另一个命令来分割文件split -b 500k -d -a 4 filename filename.这里filename是第一个命令的输出。现在有人可以帮我组合它们,使得第一个输出是第二个命令的输入。

2 个答案:

答案 0 :(得分:2)

一个班轮怎么样?

find .  -maxdepth 1 -name '*'  -size +500k -exec 'split' '-b' '500k' '-d' '-a' '4' '{}' '{}' ';'

答案 1 :(得分:1)

您可以使用process substitution

while IFS= read file
do
   split -b 500k -d -a  4 "$file" "$file"
done < <(find . -maxdepth 1 -name '*.log' -size +500k)

即:while循环由find输出提供。