如何将字数作为字符串插入文件中?
How to insert word count as a string in a file?
我试图在名为 text.txt 的文件的开头插入一行,以告知文本中有多少行。喜欢:
35764
43587
12905
13944
使用该命令后,它应该将文件重定向到 textwc.txt,如
4
35764
43587
12905
13944
我试图将一个变量定义为 wc -l
并试图将其调回 awk
,但我没有取得任何成就。有什么想法吗?
第一个解决方案: 能否请您尝试以下 awk
.
awk -v lines="$(wc -l < Input_file)" 'FNR==1{print lines} 1' Input_file
第二个解决方案:阅读2次Input_file尝试以下。
awk 'FNR==NR{count++;next} FNR==1{print count} 1' Input_file Input_file
第三个解决方案: 使用 tac
+ awk
解决方案。
tac Input_file | awk '1;END{print FNR}' | tac
第 4 种解决方案: 如果您的 Input_file 不是很大,请尝试以下操作。
awk '{val=(val?val ORS:"")[=13=]} END{print FNR ORS val}' Input_file
你可以这样:
sed "1i $(wc -l < text.txt)" text.txt
输出:
4
35764
43587
12905
13944
计算行数,然后使用 sed 插入到第一行
如果你想在#count 之后有一个空行,编辑插入的文本
sed "1i $(wc -l < text.txt)\n" text.txt
我试图在名为 text.txt 的文件的开头插入一行,以告知文本中有多少行。喜欢:
35764
43587
12905
13944
使用该命令后,它应该将文件重定向到 textwc.txt,如
4
35764
43587
12905
13944
我试图将一个变量定义为 wc -l
并试图将其调回 awk
,但我没有取得任何成就。有什么想法吗?
第一个解决方案: 能否请您尝试以下 awk
.
awk -v lines="$(wc -l < Input_file)" 'FNR==1{print lines} 1' Input_file
第二个解决方案:阅读2次Input_file尝试以下。
awk 'FNR==NR{count++;next} FNR==1{print count} 1' Input_file Input_file
第三个解决方案: 使用 tac
+ awk
解决方案。
tac Input_file | awk '1;END{print FNR}' | tac
第 4 种解决方案: 如果您的 Input_file 不是很大,请尝试以下操作。
awk '{val=(val?val ORS:"")[=13=]} END{print FNR ORS val}' Input_file
你可以这样:
sed "1i $(wc -l < text.txt)" text.txt
输出:
4
35764
43587
12905
13944
计算行数,然后使用 sed 插入到第一行 如果你想在#count 之后有一个空行,编辑插入的文本
sed "1i $(wc -l < text.txt)\n" text.txt