什麼是最簡單如何檢查字符串是否包含換行符?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