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