重定向分割输出

kal*_*gne 5 bash io-redirection split output

我使用gunzip管道分割了一个 gz 文件split

time gunzip -c file.gz | split -l 500 -d -a 4 - pref_
Run Code Online (Sandbox Code Playgroud)

它会生成以下文件:

pref_0000 
pref_0001
Run Code Online (Sandbox Code Playgroud)

我想通过管道传输这些文件以再次压缩它们。我尝试了以下方法:

gunzip -c file.gz | split -l 500 -d -a 4 - pref_ | echo "file produced:" -
# Nothing

gunzip -c file.gz | split -l 500 -d -a 4 - pref_ | echo -
gunzip -c file.gz | split -l 500 -d -a 4 - pref_ | echo
Run Code Online (Sandbox Code Playgroud)

这些不起作用,我如何获得 split 命令的输出?我希望获得生成的文件名。

iru*_*var 3

您可以使用--filter选项split来调用zip每个拆分文件

gunzip -c file.gz | split -l 500 -d -a 4 - pref_ --filter='zip $FILE'
Run Code Online (Sandbox Code Playgroud)