ちょっとした小ワザ(ってほどでもないのですが・・)、
特定のディレクトリ、あるいはファイルの、特定の行のみ出力する方法を記載します。
下記のsedコマンドで、指定したファイルの指定した行を出力できます。
sed -n [行数]p [ファイル名]
※-nオプションは、条件に含まれない行は出力させないオプションです。
※カッコ[]は含めないでください。
ディレクトリに含まれるファイル全てを対象に出力する場合は、
以下のようにfindコマンドと組み合わせます。
find [ディレクトリ] -type f -exec sed -n [行数]p {} ¥;
特定の拡張子のファイルを対象にする場合(例では拡張子が.c)、
findコマンドに-name '*.c'などのオプションでフィルターをかけることもできます。
find [ディレクトリ] -type f -name '*.c' -exec sed -n [行数]p {} ¥;
このようにgrepやfindやsedを組み合わせて使い慣れることで、
作業効率を格段に上げることができます。
Linux環境を使う方には必須のテクニックでしょう。
特定のディレクトリ、あるいはファイルの、特定の行のみ出力する方法を記載します。
下記のsedコマンドで、指定したファイルの指定した行を出力できます。
sed -n [行数]p [ファイル名]
※-nオプションは、条件に含まれない行は出力させないオプションです。
※カッコ[]は含めないでください。
ディレクトリに含まれるファイル全てを対象に出力する場合は、
以下のようにfindコマンドと組み合わせます。
find [ディレクトリ] -type f -exec sed -n [行数]p {} ¥;
特定の拡張子のファイルを対象にする場合(例では拡張子が.c)、
findコマンドに-name '*.c'などのオプションでフィルターをかけることもできます。
find [ディレクトリ] -type f -name '*.c' -exec sed -n [行数]p {} ¥;
このようにgrepやfindやsedを組み合わせて使い慣れることで、
作業効率を格段に上げることができます。
Linux環境を使う方には必須のテクニックでしょう。
参考書籍:Linuxコマンドポケットリファレンス
この記事が参考になりましたら、他の方へもシェアしていただけると嬉しいです。
スポンサードリンク
コメント