• ベストアンサー

dir /A /B /S *.txtをLinuxで

Windowsで C:>dir /A /B /S *.txt を実行すると、そのディレクトリ以下の*.txtファイルが C:\abc\def\hij.txt C:\abc\def\klm.txt ... と出力されます。 これをLinux上で出来ないでしょうか。 ネット上で調べたのですが、私の実力では"/S"と同じことがLinuxでは出来ないようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.2

質問内容を正しく解釈しているかわかりませんので間違っていたらごめんなさいです。 例えば、/home以下の*.txtを出力するのならこんな感じでしょうか。 find /home -type f -name "*.txt" おそらくlsコマンドではうまくいかないと思いますので。

remokon
質問者

お礼

返答ありがとうございます 出来ました。 "find"って、ファイル中の文字列を見つけるコマンドでは無いんですね。 今後もおねがいします

その他の回答 (2)

noname#223623
noname#223623
回答No.3

例題として /usr/share/doc 以下の *.txt を検索してみる。  $ cd /usr/share/doc  $ find . -name "*.txt"  ./libio-socket-ssl-perl/debugging.txt  ./libqt4-test/LGPL_EXCEPTION.txt  ./libqtcore4/LGPL_EXCEPTION.txt  ./libqt4-dbus/LGPL_EXCEPTION.txt  ./mercurial-common/examples/vim/patchreview.txt  ./gnome-common/usage.txt  ./libqt4-sql/LGPL_EXCEPTION.txt  (以下省略) フルパスが欲しいなら find /usr/share/doc -name "*.txt" でよし(事前の cd は不要)。 とりあえずこれでやって、思ったのと違ったら言ってください。

remokon
質問者

お礼

返答ありがとうございます maesen様ご提示の方法で現在実行中です。 masa_pee様の方法も、後で試してみます。 今後もおねがいします

回答No.1

/Sが「下階層まで一括表示」の意味なのであれば、lsのオプションでは「-R」が使えると思いますが・・・ 以上、ご参考まで。

remokon
質問者

お礼

返答ありがとうございます ネットで"-R"は見つけたのですが、当方の環境では期待通りにならなかったです。

関連するQ&A