【问题标题】:How to write the quantity of lines in a file to a line in a seperate file using bash如何使用bash将文件中的行数写入单独文件中的一行
【发布时间】:2020-10-20 18:06:57
【问题描述】:

我想计算一个文件中的行数,然后用行数覆盖第二个文件中的数字。例如

file1.txt

Apples
Oranges
Bananas

file2.txt

num_lines_in_file_1 = 100

所以我需要将 100 替换为 3

file2.txt

num_lines_in_file_1 = 3

我看到wc -l file1.txt 命令可以告诉我行数。而且我知道我可以使用 sed 替换一行,例如

sed -i "s/num_lines_in_file_1 = 100/num_lines_in_file_1 = 3/" file2.txt

但是我不明白你会如何管道 |把 wc 命令改成 sed?它会发生在正则表达式中吗?

【问题讨论】:

    标签: bash sed pipe wc


    【解决方案1】:

    使用命令替换:

    sed -i "s/num_lines_in_file_1 = 100/num_lines_in_file_1 = $(wc -l < file1.txt)/" file2.txt
    

    您也不需要重复整个短语,sed 可以为您记住它:

    sed -i "s/\(num_lines_in_file_1 = \)100/\1$(wc -l < file1.txt)/" file2.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      • 2023-04-05
      相关资源
      最近更新 更多