Linuxシェルを使用してファイル内の複数の単語を見つける方法は?
私は持っています
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
したがって、「テキスト」は1行のすべてになることができ、「例」は「例」にすぎないと仮定します(必要に応じてコードを編集してください)。出力要件を次のステートメントと一致させることができます(詳細はありません)。
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
例で私が理解している限り、行とその行番号の後の行を印刷したいと思います。
cat
行番号と行を印刷するには、次のものを使用できますnl
。
$ 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
ただし、行の後に数字を印刷することは不可能なので、次のものをcat
使用nl
できますawk
。
$ awk '{print $0 "\t" NR}' test.txt
text example 1
text example 2
text example 3
text example 4