【发布时间】:2020-03-26 13:04:14
【问题描述】:
我想在目录文件中查找大字符串并报告它们:
awk 'length>50' /home/* -exec ls -l {} ';'
提前致谢
【问题讨论】:
我想在目录文件中查找大字符串并报告它们:
awk 'length>50' /home/* -exec ls -l {} ';'
提前致谢
【问题讨论】:
如果您的文件名不包含空格,则使用 POSIX 工具:
grep -El '.{50}' /home/* | xargs ls -l
否则使用 GNU 工具:
grep -ElZ '.{50}' /home/* | xargs -0 ls -l
【讨论】:
为此您需要find,例如:
find . -type f -exec grep -Eq '.{50}' {} \; \
-exec ls -l {} +
在 GNU 中找到 -exec ls -l {} + 可以只替换为 -ls。
如果不需要长输出(需要 GNU grep):
grep -Erl '.{50}' .
【讨论】:
strLen=$( grep -Erl '.{50}' /home/ ) echo $strLen >> $LOGFILE
echo 时误用了引号。始终引用您的变量 - 请参阅 mywiki.wooledge.org/Quotes