且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何运行需要两种不同类型的输入文件的命令(1000次)

更新时间:2023-11-13 21:49:22

  1. 查找具有该扩展名的所有文件.
  2. 对于每个文件
  1. Find all files with that extension.
  2. For each file
  1. 提取文件名而不会超出
  2. 运行命令

所以:

find -type f -name '*.ext' |
while IFS= read -r file; do
   file_no_extension=${file##*/};
   file_no_extension=${file_no_extension%%.*}
   ./convert -i "$file" -o "$file_no_extension".bin -w "$file_no_extension".weights
done

// with find:
find -type f -name '*.ext' -exec sh -c 'f=$(basename "$1" .ext); ./convert -i "$1" -o "$f".bin -w "$f".weights' _ {} \;

// with xargs:
find -type f -name '*.ext' |
xargs -d '\n' -n1 sh -c 'f=$(basename "$1" .ext); ./convert -i "$1" -o "$f".bin -w "$f".weights' _