linux - 在 Unix 中,我如何计算不以空格开头的代码行数?

标签 linux shell unix

test1:
  1. samplinggggggg
  2. samplinggggggg
  3. samplinggggggg

test2:
  1. samplinggggggg
  2. samplinggggggg
  3. samplinggggggg
  4. samplinggggggg

在上面的例子中,不以空格开头的行数应该是 2。我如何在 Unix 中使用 wc -l 或更好的方法来实现这一点?

最佳答案

我建议将 grep 与 -c 开关一起使用,以输出计数:

grep -c '^[^ ]' file

模式匹配行首的非空格字符。

要包含其他类型的空白字符(例如制表符),请改用 [^[:space:]]:

grep -c '^[^[:space:]]' file

...或者如果您的 grep 版本支持它(例如 GNU grep),请改用 \S 作为 [^[:space:]]:

grep -c '^\S' file

关于linux - 在 Unix 中,我如何计算不以空格开头的代码行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34029151/

相关文章:

linux - 从一个 .sh 脚本运行多个 .sh 脚本?中央操作系统

linux - Bash(对于基础来说值(value)太大)

Linux Bourne shell - 目录可写检查始终返回 "Not Writable"

unix - 哪些文件控制您网站的可见性?

c - 定位段错误的最简单方法

c - <= token 之前的预期表达式

php - Shell脚本段错误

Linux shell su -c 'sed' 命令

c - 线程名称超过 15 个字符?

email - 在unix mailx中发送带有CC BCC和发件人地址的电子邮件