使用 Linux shell 从文件中获取的字数

使用 Linux shell 从文件中获取的字数

如何使用 Linux shell 查找文件的多个单词?

我有

text
example

text
example

text
example

text
example

我需要

text
example1

text
Example2

text
example3

text
example4

也就是说,先定位单词,然后定位数字。

答案1

我不完全理解你的问题。但是,提供您的输入示例和输出示例,您可以执行类似的操作(只是一个方向):

名为“example”的输入文件如下:

text
example

text
example

text
example

text
example

因此,假设“文本”可以是一行中的任何内容,并且“示例”只是“示例”(编辑我的代码以满足您的需求);您可以将您的输出要求与以下语句相匹配(但不是太详尽):

hmontoliu@ulises:/tmp$ awk 'BEGIN {c=0} {if ( $0 ~ /example/ ) {c+=1; print $0c} else print $0}'   example 
text
example1

text
example2

text
example3

text
example4

华泰

答案2

据我从示例中了解到,您想要打印行以及该行号之后的行。

要打印行号和行,您可以使用catnl

$ cat -n test.txt 
     1  text example
     2  text example
     3  text example
     4  text example

$ nl test.txt 
     1  text example
     2  text example
     3  text example
     4  text example

但是不可能在行后打印数字catnl因此您可以使用awk

$ awk '{print $0 "\t" NR}' test.txt 
text example    1
text example    2
text example    3
text example    4

相关内容