2012-02-23 11 views
0

「README」という名前に一致するファイルの最初の行を印刷するUnixシェルスクリプト(ksh)を書く方法については、現在のディレクトリとサブディレクトリ?ディレクトリやサブディレクトリにあるREADMEファイルの最初の行を表示するUNIXシェルスクリプト

head -n 1 `find . -name README` 
+0

は、あなたは正確に意味、または単に "README" が含まれていますか? – ohaal

+2

['head'](http://linux.die.net/man/1/head)コマンドをチェックすることから始めることができます。 –

答えて

6

head

find . -name 'README' -exec head -1 {} \; 

なぜ\;findを使用していますか? find manual

-execコマンドから


コマンドを実行します。ステータスが0の場合はtrue。 findに続くすべての引数は、引数 からなる {0}からなる引数が、引数だけでなくコマンドの引数に現れるすべての場所で処理されている現在のファイル名に置き換えられるまで、コマンドの引数になりますfindのいくつかのバージョンと同じように、単独で動作します。これらの構造の両方は、 をシェル()による拡張から保護するために( `\ 'で)エスケープするか引用符で囲む必要があるかもしれません。 -exec オプションの使用例については、「使用例」セクションを参照してください。指定されたコマンドは、一致するファイルごとに1回実行されます。コマンドは開始ディレクトリで実行されます。 -execアクションの使用を回避することは不可避です。代わりに-execdirオプションを使用してください。マッチで

+0

\は何を表しますか?行う? Googleにそのシンボルを見つけるのは難しい。 :P – carlinyuen

+0

@CarlinYuenシェルの拡張を防ぐ。 –

3

あなたも、1行だけのスクリプトを必要としません。

3
head -1 `find . -name README` 

はあなたが後にしている何をすべき:

0

find . -name README | xargs head -1

関連する問題