ファイルの名前、変更時刻、およびファイル内の行数を取得するために とマージls
するにはどうすればよいですか?wc -l
ありがとう!
シェルまたは選択したプログラミング言語からこれにアプローチする方法はいくつかありますが、カスタム出力を形成するために各ファイルを 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
確かに他の方法もありますが、コマンド置換により、複雑なパイプラインや一時変数を使用せずに、フォーマット文字列の意図を短く明確に保つことができます。