如何解决如何使用bash将文件中的行数写入单独文件中的行
我想计算一个文件中的行数,然后用行数覆盖第二个文件中的行数。例如
file1.txt
Apples
Oranges
Bananas
file2.txt
num_lines_in_file_1 = 100
所以我需要用3代替100
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
但是我不明白您将如何使用管道| sed中的wc命令?它会在正则表达式内发生吗?
解决方法
使用命令替换:
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。