grepコマンドと一致するファイルの内容を表示するにはどうすればよいですか?たとえば、私はそれが持っている普通のファイルを見るためにディレクトリをgrepします。次の行を使用して、通常のファイルのみを表示しました。grep普通のファイルをlinuxファイルシステムで表示し、その内容を表示
ls -lR | grep ^-
次に、そこにあるファイルの内容を表示したいと思います。どうすればいいのですか?
grepコマンドと一致するファイルの内容を表示するにはどうすればよいですか?たとえば、私はそれが持っている普通のファイルを見るためにディレクトリをgrepします。次の行を使用して、通常のファイルのみを表示しました。grep普通のファイルをlinuxファイルシステムで表示し、その内容を表示
ls -lR | grep ^-
次に、そこにあるファイルの内容を表示したいと思います。どうすればいいのですか?
それを行う方法はいくつかあります。あなたにここで簡単で清潔な方法をいくつか与えるつもりです。それらのすべてはスペースでファイル名を処理します。
$ find。 -type f -print0 | xargs -0 cat
-print0は、ヌル文字 '¥0'デリミタを追加し、nullデリミタを認識するためにxargs -0を呼び出す必要があります。そうしないと、ファイル名の空白が問題になります。
-print0なしファイル名:ABC 123.txtと1.incは、3つの別々のファイルABC、123.txtと1.incとして読まれます。
-print0でこれはとなりABC 123.txt '\ 0'と1.inc '\ 0'とABC 123.txtと1.inc
として読まれますxargsでは、入力としてパラメータとして受け入れることができます。コマンド1 | xargs command2は、command1の出力がcommand2に渡されることを意味します。
catは、ファイルの内容を表示します。
$ find。-t f -exec echo {} \; -exec cat {} \;
これは単にfindコマンドを使用しています。すべてのファイル(タイプf)を見つけ、echoを呼び出してファイル名を出力し、catを呼び出してその内容を表示します。
ファイル名を指定しない場合は、-exec echo {} \を省略します。
また、catコマンドを使用してfindの出力を渡すこともできます。
$ cat `find。 -type f -print`
複数のファイルの内容を1つずつスクロールしたい場合。あなたは使うことができます。
$ less `find。 -t type f -print`
lessを使うと、次のファイルと前のファイルのそれぞれにnと:pをナビゲートすることができます。 qを押すと終了します。
私のようなものだろう:
$ cat `ls -lR | egrep "^-" | rev | cut -d ' ' -f 1 | rev`
または私がおそらくそれを行う方法は、各ファイルを見るためにvimを使用することです。
$ vim `ls -lR | egrep "^-" | rev | cut -d ' ' -f 1 | rev`
ファイルのみを再帰的に検索しようとしているように感じます。これは私がそれらの場合に行うことです:
3210私は部品で試していましたが、私はこれで新しいです。私は名前だけを返しますが、ファイルを表示することはできません。 私は使用しました: 'ls -lR | grep^- | rev |カット-d "" -f 1 | rev ' 私は努力し続けます。 –
コメントには前方一致が1つあります。バックティックを使用していない可能性はありますか?バックチックは、コマンドの結果を取得し、その結果をbashの変数として使用できるようにします。これは、catやvimがgrep操作からファイルのリストを受け取るようにするためです。 – edt11x
私はバックチックを使用して、実際にはLinuxで私はなぜ私は笑を使用することができる唯一のものかわかりません。私は行を置くとき、それはファイルが存在しないと言います。私はそれを続けます。私はあなたの助けを本当に感謝します、私は多くを学んでいます。 –
うわー。最初のものは完璧に働いた。今私はあなたがそこで何をしたのか把握し、勉強する必要があります。私は本当にこれで新しいです。私はあなたの時間を多く感謝します。 –