【问题标题】:Substract number from wc cmd in one line在一行中从 wc 命令中减去数字
【发布时间】:2020-11-19 18:58:55
【问题描述】:

假设 test.csv 包含 10 行。我想在一个命令行中将 9 放入 output.txt 中。 我试过了:

cat test.csv | $(wc -l) - 1 > output.txt

output.txt 应该包含 9。

【问题讨论】:

  • awk 'END{print NR-1}' test.csv > output.txt
  • wc -l 为空文件输出0 - -1 或其他内容时,output.txt 应该包含什么?

标签: bash awk cat wc


【解决方案1】:
echo $(( $(wc -l <test.csv) - 1 )) > output.txt

wc -l <test.csv | awk '{$1--}1' > output.txt

【讨论】:

    【解决方案2】:

    或者只是老式的:

    expr $(wc -l < test.csv) - 1
    

    【讨论】:

      【解决方案3】:

      使用这个 Perl 单行代码:

      perl -le 'print `wc -l <test.csv` - 1' > output.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-03
        相关资源
        最近更新 更多