sed、grep、awk によるファイルのソート

sed、grep、awk によるファイルのソート

ディレクトリから名前に「load」が含まれるすべてのファイルを取得しようとしています。実行しようとしているのは、次のことです。

find -type f | sed -s 'load

しかし、私は繰り返しエラーを受け取ります

sed: -e 式 #1、文字 1: 不明なコマンド: `f'

さらに悪いことに、正規表現は扱えるものの、grep/sed/awk の使い方が本当に下手で、いつも作業が遅くなっています。これまでオンラインで見つけた資料はどれもあまり良くありません。皆さんは、包括的でかなり簡潔なスクリーンキャストやチュートリアルをご存知ですか? Linux のマニュアルを読んですぐに理解するスキルがまだありません。

答え1

grep/sed/awk はまったく必要ありません。find結果をフィルタリングします。

find . -type f -name '*load*'

または、bashのみ

shopt -s globstar nullglob
load_files=( **/*load* )

外部ツールが必要な場合:

find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'

sed では、-n を使用して通常の出力を抑制し、パターンに一致する行のみを出力します。

関連情報