1

フォルダ内のすべてのファイル名を出力したいのですが、awk または bash でこれを行うにはどうすればよいですか?

4

6 に答える 6

5
ls -l /usr/bin | awk '{ print $NF }' 

:)

于 2012-09-18T12:15:02.093 に答える
4
find . -type f -maxdepth 1

サブディレクトリに対しても再帰的に実行する場合は、 -maxdepth 部分を除外します

于 2012-09-17T16:00:02.210 に答える
2

以下は純粋な AWK オプションです。

gawk '
    BEGINFILE {
        print "Processing " FILENAME
    };
' *

複数のファイルを処理するより大きな AWK スクリプトの一部として使用したい場合や、現在処理中のファイルをログに記録したい場合に役立ちます。

于 2019-10-30T09:15:44.710 に答える
1

このコマンドは、すべてのファイル名を出力します。

for f in *; do echo "$f"; done

または(さらに短い)

printf '%s\n' *

別の方法として、特定のファイル タイプ (例: .txt) を印刷したい場合は、次の方法を試すことができます。

for f in *.txt; do echo "$f"; done

または(さらに短い)

printf '%s\n' *.txt
于 2015-10-17T15:35:58.600 に答える
0

/bin/ls がこのジョブを実行し、bash から呼び出すことができます。

$> /bin/ls
[.. List of files..]

質問を解釈すると、このディレクトリ内のすべてのファイルを反復処理することに興味があるかもしれません。これは、bash を使用して行うこともできます。

for f in `ls`; do
   echo $f;
done
于 2012-09-17T16:01:26.340 に答える