以下命令尝试枚举*.txt当前目录中的所有文件,并一一处理它们:
*.txt
for line in "find . -iname '*.txt'"; do echo $line ls -l $line; done
为什么会出现以下错误?
ls: invalid option -- 'e' Try `ls --help' for more information.
这是一种遍历文件的更好方法,因为它可以处理文件名中的空格和换行符:
find . -type f -iname "*.txt" -print0 | while IFS= read -r -d $'\0' line; do echo "$line" ls -l "$line" done