搜索文件并打印到同一目录

时间:2017-04-02 02:47:19

标签: bash find

我想按名称搜索文件并在其上运行python脚本,最后将输出打印到包含该文件的目录。结构看起来像

  

dir_a / common.txt
  dir_b / common.txt
  dir_c / common.txt

到目前为止,我想出了

find . -maxdepth 2 -name "common.txt" -exec cat "{}" \; | ~/myscript.py 

myscript.py打印到stdout。但是如何将输出重定向到

  

dir_a / out.txt
  dir_b / out.txt
  dir_c / out.txt

1 个答案:

答案 0 :(得分:0)

也许是小脚本runmypy.sh

#!/bin/bash
topdir="${1:-.}"
while IFS= read -r -d '' file; do
    dir=$(dirname "$file")
    /path/to/myscript.py < "$file" >"$dir/out.txt"
done < <(find "$topdir" -maxdepth 2 -type f -name "common.txt" -print0)