如何检查字符串是否为新行?

时间:2013-01-19 08:48:14

标签: shell

我有if test '\n' = "$line",但这似乎没有抓住新线。那段代码有什么问题?

2 个答案:

答案 0 :(得分:2)

怎么样

if test $line = $'\n'

答案 1 :(得分:0)

如果您正在测试$line正好是换行符,则可以执行以下任一操作

test "$line" = $'\n'  # This is non-standard, and will only work in some shells
test "$line" = '
'                 # This (two-liner) will work in any shell

如果你想知道$line是否只包含一个换行符(即它是在... 至少两行,你可以这样做:

if echo "$line" | sed 1d | grep -q .; then
  echo line is at least 2 lines
fi