Linux 在Unix中,如何计算不以空格开头的代码行数?
在上述情况下,不以空格开头的行数应为2。如何在Unix中使用Linux 在Unix中,如何计算不以空格开头的代码行数?,linux,shell,unix,Linux,Shell,Unix,在上述情况下,不以空格开头的行数应为2。如何在Unix中使用wc-l或更好的方法实现这一点?我建议使用grep和-c开关来输出计数: test1: 1. samplinggggggg 2. samplinggggggg 3. samplinggggggg test2: 1. samplinggggggg 2. samplinggggggg 3. samplinggggggg 4. samplinggggggg 模式匹配行首的非空格字符 要包含其他类型的空白字符(例
wc-l
或更好的方法实现这一点?我建议使用grep和-c
开关来输出计数:
test1:
1. samplinggggggg
2. samplinggggggg
3. samplinggggggg
test2:
1. samplinggggggg
2. samplinggggggg
3. samplinggggggg
4. samplinggggggg
模式匹配行首的非空格字符
要包含其他类型的空白字符(例如制表符),请使用[^[:space:]
:
grep -c '^[^ ]' file
…或者,如果您的grep版本支持它(例如GNU grep),请改用\S
作为[^[:space:]
:
grep -c '^[^[:space:]]' file
我建议使用带有
-c
开关的grep来输出计数:
test1:
1. samplinggggggg
2. samplinggggggg
3. samplinggggggg
test2:
1. samplinggggggg
2. samplinggggggg
3. samplinggggggg
4. samplinggggggg
模式匹配行首的非空格字符
要包含其他类型的空白字符(例如制表符),请使用[^[:space:]
:
grep -c '^[^ ]' file
…或者,如果您的grep版本支持它(例如GNU grep),请改用\S
作为[^[:space:]
:
grep -c '^[^[:space:]]' file
grep'^\S'.| wc-l
?过滤掉间隔的行,计算剩下的行数。grep'^\s'.|wc-l
?过滤掉间隔的行,数一数剩下的行数。你能解释一下为什么它可以跳过空白行吗?原因是每种模式在行首匹配一个非空格字符。如果行是空的,那么就没有字符,因此模式无法匹配。您能解释一下为什么它可以跳过空行吗?原因是每个模式在行首匹配一个非空格字符。如果该行为空,则没有字符,因此模式无法匹配。