- - PR -
【シェル】特定パス配下の全てのファイルに対してコマンドを実行する
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-12-25 11:57
今回特定パス配下の全てのファイルに対して特定のコマンドを
実行する方法を探しています。 例)以下のようなファイルが存在した場合に全てのファイルの 中身をシェルの実行により一括表示する。 /home/work/test1.txt /home/work/test2.txt /home/work/01/test01.txt もちろんシェルファイルに以下を記載すれば全てのファイルの 中身は表示されます。 cat /home/work/test1.txt cat /home/work/test2.txt cat /home/work/01/test01.txt 例えばシェルファイルを作成し、パスを指定する事により、 指定パス配下の全てのファイルに対して cat コマンドが 実行されるようなシェルを作成したいのですが。。。 例)$shellcat.sh /home/work このコマンドにより、上記のcat 結果と同様の結果が 出力される。 どなたかアドバイスをお願いいたします。。。 | ||||||||
|
投稿日時: 2006-12-25 12:45
1. find /home/work/ -type f | xargs cat
2. find /home/work/ -type f -exec cat {} \; 各オプションと両者の違いは調べてみましょう。 ※2に-typeが抜けていたので修正 [ メッセージ編集済み 編集者: SHR 編集日時 2006-12-25 12:49 ] | ||||||||
|
投稿日時: 2006-12-25 12:50
こんなかんじですね。 検索結果にread権限が無い場合などの細かい仕様は考慮されてませんが。
| ||||||||
|
投稿日時: 2006-12-25 13:47
マルチポスト
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=80269896846 | ||||||||
|
投稿日時: 2006-12-25 14:15
SHR さん、温州蜜柑さん
ご回答ありがとうございいました。 SHR さんの find コマンドにて実行できました。 引き続き勉強を続けていきます! ありがとうございます。 | ||||||||
|
投稿日時: 2006-12-25 18:42
xargsを使うんであれば
$ find .... -print0 | xargs -0 .... こちらも覚えておくといいかもしれません |
1