Linuxにファイルがあります。そのファイルに特定の文字列を含む行を表示したいのですが、どうすればよいですか?
これを行う通常の方法は、grep
を使用することです
grep 'pattern' file
/ tmp/myfile
first line text
wanted text
other text
コマンド
$ grep -n "wanted text" /tmp/myfile | awk -F ":" '{print $1}'
2
grep
に加えて、awk
やsed
などの他のユーティリティも使用できます。
以下に例を示します。 is
という名前のファイルで文字列GPL
を検索するとします。
サンプルファイル
user@linux:~$ cat -n GPL
1 The GNU General Public License is a free, copyleft license for
2 The licenses for most software and other practical works are designed
3 the GNU General Public License is intended to guarantee your freedom to
4 GNU General Public License for most of our software;
user@linux:~$
1。grep
user@linux:~$ grep is GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
2。awk
user@linux:~$ awk /is/ GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
。sed
user@linux:~$ sed -n '/is/p' GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
user@linux:~$
お役に立てれば