Bash 如何通过检查换行符确保只返回一个文件
检查字符串是否包含换行符的最简单方法是什么 比如说,Bash 如何通过检查换行符确保只返回一个文件,bash,unix,newline,Bash,Unix,Newline,检查字符串是否包含换行符的最简单方法是什么 比如说, FILE=$(find . -name "pattern_*.sh") 我想检查换行符以确保只有一个文件匹配。如果$str包含新行,您可以通过 if [ $(echo "$str" | wc -l) -gt 1 ]; then // perform operation if it has new lines else // no new lines. fi 您可以使用模式匹配: [[ $FILE == *$'\n'*
FILE=$(find . -name "pattern_*.sh")
我想检查换行符以确保只有一个文件匹配。如果
$str
包含新行,您可以通过
if [ $(echo "$str" | wc -l) -gt 1 ];
then
// perform operation if it has new lines
else
// no new lines.
fi
您可以使用模式匹配:
[[ $FILE == *$'\n'* ]] && echo More than one line
参考您的示例:请注意,文件名也可以包含换行符 一种安全的文件计数方法是
find -name "pattern_*.sh" -printf '\n' | wc -c
这样可以避免打印文件名,而只打印换行符。甚至
-printf'x'
来保存字符。不需要打印换行符。不需要-true,但是在哪里保存字符?选择您喜欢的内容…在我的情况下,没有美元符号更好。我来这里是为了回答“检查字符串是否包含换行符bash”,在我的情况下,我需要'\r'
,而不是'\n'
\r
不是换行符,请参阅。