什么是最简单如何检查字符串是否包含换行符?bash - 检查字符串中是否包含换行符
例如,在
FILE=$(find . -name "pattern_*.sh")
我想检查是否有新行,以确保匹配的只有一个文件。
什么是最简单如何检查字符串是否包含换行符?bash - 检查字符串中是否包含换行符
例如,在
FILE=$(find . -name "pattern_*.sh")
我想检查是否有新行,以确保匹配的只有一个文件。
要引用您的示例:请注意,文件名可能包含换行符,太。
一个安全的方法来计算文件将
find -name "pattern_*.sh" -printf '\n' | wc -c
这避免了打印文件名,只打印一个换行符代替。
为什么不做wc -l
并看到它返回1?
如果$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
这是没有美元符号,在我的情况下更好。 – 2016-11-03 11:56:35
甚至是'-printf'x''来保存一个角色。无需打印换行符。 – l0b0 2012-01-27 15:58:41
不需要 - 真的,但你在哪里保存一个角色?选择你感觉舒适的任何东西...... – 2012-01-28 11:32:29