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/

相关文章:

c - 读取/接收线程安全 (MSG_PEEK)

linux - 如何使用 for 循环从命令行获取值

linux - bash 中是否有命令获取前 n 个单词而不是类似于 'head -n' 的 n 行?

c - 为什么打开 FIFO 时进程会被阻塞

linux - wget 不从真实的 https url vaultpress 下载

linux - Perl 在远程机器上执行 bash 脚本的错误输出行为

unix - 如何将 UNIX 命令日期附加到 echo 语句

bash - 启动一个新的 tmux session 并分离它,所有这些都在一个 shell 脚本中

linux - 如何判断输入是否为退格

linux - 查找文件,将其转换并留在 bash 中的原始目录中