有没有办法用更少的嵌套引用在 "gnu parallel" 中实现相同的效果?
Is there a way to achieve the same in "gnu parallel" with less nested quoting?
虽然这个脚本有效,但我对嵌套引用过多感到不满意,这使得脚本非常脆弱且难以修改。
该脚本基本上由并行后跟过滤器测试参数后跟命令参数组成。
#!/bin/sh
uhrzeit_0=$(date --rfc-3339=ns) ; uhrzeit="$uhrzeit_0 $(echo "$uhrzeit_0" | sha512sum)" ;
find ./* -maxdepth 30 -type f -print0 | parallel --null \
"mimetype --output-format %m {} | grep video > /dev/null \
&& echo -en '\nSeparator: ' && echo -e $uhrzeit \
&& echo -n 'md5sum: ' && md5sum {} && echo -n 'du -h: ' \
&& du -h {} && ffmpeg -loglevel quiet -i {} -f ffmetadata - " > Film_metadata.txt
#!/bin/bash
uhrzeit_0=$(date --rfc-3339=ns)
uhrzeit="$uhrzeit_0 $(echo "$uhrzeit_0" | sha512sum)"
doit() {
F=""
mimetype --output-format %m "$F" | grep video > /dev/null &&
echo -en '\nSeparator: ' &&
echo -e $uhrzeit &&
echo -n 'md5sum: ' &&
md5sum "$F" &&
echo -n 'du -h: ' &&
du -h "$F" &&
ffmpeg -loglevel quiet -i "$F" -f ffmetadata -
}
export -f doit
find ./* -maxdepth 30 -type f -print0 |
parallel --null doit > Film_metadata.txt
虽然这个脚本有效,但我对嵌套引用过多感到不满意,这使得脚本非常脆弱且难以修改。 该脚本基本上由并行后跟过滤器测试参数后跟命令参数组成。
#!/bin/sh
uhrzeit_0=$(date --rfc-3339=ns) ; uhrzeit="$uhrzeit_0 $(echo "$uhrzeit_0" | sha512sum)" ;
find ./* -maxdepth 30 -type f -print0 | parallel --null \
"mimetype --output-format %m {} | grep video > /dev/null \
&& echo -en '\nSeparator: ' && echo -e $uhrzeit \
&& echo -n 'md5sum: ' && md5sum {} && echo -n 'du -h: ' \
&& du -h {} && ffmpeg -loglevel quiet -i {} -f ffmetadata - " > Film_metadata.txt
#!/bin/bash
uhrzeit_0=$(date --rfc-3339=ns)
uhrzeit="$uhrzeit_0 $(echo "$uhrzeit_0" | sha512sum)"
doit() {
F=""
mimetype --output-format %m "$F" | grep video > /dev/null &&
echo -en '\nSeparator: ' &&
echo -e $uhrzeit &&
echo -n 'md5sum: ' &&
md5sum "$F" &&
echo -n 'du -h: ' &&
du -h "$F" &&
ffmpeg -loglevel quiet -i "$F" -f ffmetadata -
}
export -f doit
find ./* -maxdepth 30 -type f -print0 |
parallel --null doit > Film_metadata.txt