我需要创建一个shell脚本,只需在特定源(例如/ var / www / html / folder1 / source /)下查找文件(例如* .jpg),并且必须对输出的输出进行一些操作。查找命令。以下是我在脚本中编写的命令
outputvar = find /var/www/html/folder1/source/ -name \*.jpg
如何对存储find命令输出的变量进行遍历操作?
答案 0 :(得分:4)
您可能希望将find
命令的输出放在文件中,例如
find /var/www/html/folder1/source/ -name \*.jpg > /tmp/find.out
您也可以将该输出放在shell变量中,例如
outfindvar=$(find /var/www/html/folder1/source/ -name \*.jpg)
然后你可以迭代它们
for jpgfile in $outfindvar; do
## do something with $jpgfile
done
如果您的名字中包含空格的文件,请小心。在这种情况下,请考虑使用-print0
的{{1}}操作;或者可以使用辅助脚本进行find
操作。
你真的应该阅读Advanced Bash Scripting Guide
您可能想要使用
启动脚本-exec
在调试时,并在脚本运行良好后删除#!/bin/bash -vx
。
答案 1 :(得分:2)
piping输出到你想用它做的其他事情怎么样?
find /var/www/html/folder1/source/ -name \*.jpg | other_command