Linuxにファイルがありますが、そのファイルに特定の文字列を含む行を表示したいのですが、これを行うにはどうすればよいですか?
質問する
203575 次
5 に答える
106
これを行う通常の方法はgrep
、を使用することです。これは、正規表現パターンを使用して行を照合します。
grep 'pattern' file
パターンに一致する各行が出力されます。固定文字列のみを検索する場合は、を使用しますgrep -F 'pattern' file
。
于 2012-08-03T14:32:28.410 に答える
14
加えて、または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:~$
3. 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:~$
お役に立てれば
于 2018-10-25T07:05:48.833 に答える
9
/ tmp / myfile
first line text
wanted text
other text
コマンド
$ grep -n "wanted text" /tmp/myfile | awk -F ":" '{print $1}'
2
-n
grepに切り替えると、一致した行の前に行番号(後に):
が追加されます。2番目のコマンドでは、コロンを列区切り文字(-F ":"
)として使用し、任意の行の最初の列を出力します。最終結果は、一致する行番号のリストです。
于 2016-06-23T05:09:13.683 に答える
1
キュージョブ情報を長い形式でテキストファイルに書き込みます
qstat -f > queue.txt
Grepのジョブ名
grep 'Job_Name' queue.txt
于 2020-07-29T09:45:10.703 に答える