bash - 检查字符串是否包含换行符

时间:2012-01-27 12:07:48

标签: bash unix newline

检查字符串是否包含换行符的最简单方式是什么?

例如,在

之后
FILE=$(find . -name "pattern_*.sh")

我想检查换行符以确保只匹配一个文件。

3 个答案:

答案 0 :(得分:11)

您可以使用模式匹配:

[[ $FILE == *$'\n'* ]] && echo More than one line

答案 1 :(得分:9)

如果$str包含新行,您可以按

进行检查
if [ $(echo "$str" | wc -l) -gt 1 ];
then
     // perform operation if it has new lines
else
     // no new lines.
fi 

答案 2 :(得分:2)

要参考您的示例:请注意,文件名也可以包含换行符。

计算文件的安全方法是

find -name "pattern_*.sh" -printf '\n' | wc -c

这样可以避免打印文件名,而只打印换行符。