0

ファイルの名前、変更時刻、およびファイル内の行数を取得するために とマージlsするにはどうすればよいですか?wc -l

ありがとう!

4

1 に答える 1

5

シェルまたは選択したプログラミング言語からこれにアプローチする方法はいくつかありますが、カスタム出力を形成するために各ファイルを stat して読み取る必要があるため、これを行う「正しい」方法は実際にはありません。コマンド置換を使用して、基本的な for ループ内でパイプラインなしでこれを行うことができます。

custom_ls () {
    for file in "$@"; do
        echo "$file, $(date -r "$file" '+%T'), $(wc -l < "$file")"
    done
}

これにより、次のような出力が生成されます。

$ custom_ls .git*
.gitconfig, 14:02:56, 44
.gitignore, 17:07:13, 21

確かに他の方法もありますが、コマンド置換により、複雑なパイプラインや一時変数を使用せずに、フォーマット文字列の意図を短く明確に保つことができます。

于 2012-05-03T22:19:56.297 に答える