linux - bash 脚本运行每个文件夹

标签 linux bash shell awk sed

我需要在每个文件夹中运行 bash 脚本,但我怎样才能做到最好?

这是需要在每个文件夹中运行的脚本 我还需要跟踪文件所在的文件夹 $Title

#!/bin/bash

rm -f output2.txt
rm -f output3.txt
ls -td $PWD/test/*.pdf |head -5 >> output2.txt
ls -t test/ | sed -e 's/\.[^.]*$//' | head -5 >> output3.txt
output2=output2.txt
output3=output3.txt


download_one=$(awk 'FNR==1' $output2)
download_two=$(awk 'FNR==2' $output2)
download_three=$(awk 'FNR==3' $output2)
download_four=$(awk 'FNR==4' $output2)
download_five=$(awk 'FNR==5' $output2)

download_one_title=$(awk 'FNR==1' $output3)
download_two_title=$(awk 'FNR==2' $output3)
download_three_title=$(awk 'FNR==3' $output3)
download_four_title=$(awk 'FNR==4' $output3)
download_five_title=$(awk 'FNR==5' $output3)

rm -f output2.txt
rm -f output3.txt

Title=
Title2=$Title

echo $Title,$Title2,$download_one_title,$download_one,$download_two_title,$download_two,$download_three_title,$download_three,$download_four_title,$download_four,$download_five_title,$download_five >> test.csv

第二个 错误

    /home/intranet/script: line 5: /home/intranet/test/test1/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test1/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test1/script: No such file or directory
ls: cannot access /home/intranet/test/test1/test/*/*.pdf: No such file or directory
ls: cannot access test/: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test2/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test2/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test2/script: No such file or directory
ls: cannot access /home/intranet/test/test2/test/*/*.pdf: No such file or directory
ls: cannot access test/: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test3/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test3/script: No such file or directory
/home/intranet/script: line 5: /home/intranet/test/test3/script: No such file or directory
ls: cannot access /home/intranet/test/test3/test/*/*.pdf: No such file or directory
ls: cannot access test/: No such file or directory

第二个代码

    #!/bin/bash

curdir=$(pwd)
for folder in /home/intranet/test/*; do
    [ -d $folder ] && cd "$folder" && $curdir/script
done
cd $curdir

rm -f output2.txt
rm -f output3.txt
ls -td $PWD/test/*/*.pdf |head -5 >> output2.txt
ls -t test/ | sed -e 's/\.[^.]*$//' | head -5 >> output3.txt
output2=output2.txt
output3=output3.txt


download_one=$(awk 'FNR==1' $output2)
download_two=$(awk 'FNR==2' $output2)
download_three=$(awk 'FNR==3' $output2)
download_four=$(awk 'FNR==4' $output2)
download_five=$(awk 'FNR==5' $output2)

download_one_title=$(awk 'FNR==1' $output3)
download_two_title=$(awk 'FNR==2' $output3)
download_three_title=$(awk 'FNR==3' $output3)
download_four_title=$(awk 'FNR==4' $output3)
download_five_title=$(awk 'FNR==5' $output3)

rm -f output2.txt
rm -f output3.txt

Title=lol
Title2=$Title

echo $Title,$Title2,$download_one_title,$download_one,$download_two_title,$download_two,$download_three_title,$download_three,$download_four_title,$download_four,$download_five_title,$download_five >> test.csv

最佳答案

find /path/to/Files -type d -exec myscript.sh {} \;

找到正常的工作,您可以指定更多选项来过滤文件夹,例如时间或访问权限,...

关于linux - bash 脚本运行每个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24262762/

相关文章:

linux - bash - 尝试通过管道将命令运行到单独的函数时出错

linux - 当年份更改时,基于时间戳的 CSV 文件排序在 Linux 中不起作用

bash - wget 是否可以选择强制它写入响应,即使它是错误的?

macos - -bash : otool: command not found, 你能教bash一个默认位置来查找命令吗?

LInux 恢复脚本返回意外标记

c - 线程入口函数和普通函数有什么区别?

linux - 我怎样才能用 Perl 杀死整个进程树?

linux - docker build 在 Ubuntu 16.04 上运行命令失败,但在具有相同 Docker 版本的 18.04 上运行命令失败

linux - 在脚本中为特定日期添加动态天数

java - 如何在 Java 中执行 shell 命令?