シェルスクリプトで同じファイル名を持つ複数のファイルをロードする必要がありますが、各ファイル名の前にYYMMDDPERSONNELを追加する必要があります。例: 231102PERSONNEL と 230103PERSONNEL 同じディレクトリに異なるファイルがたくさんあるため、ソート時にファイル名が重要です。ロードするファイルを古いものから最新のものに並べ替える必要があります。
現在私が持っているのは、一度に1つのファイルのみを処理するように設計されています。
ベストアンサー1
これはパイプを使った簡単な作業です。
find . -maxdepth 1 -type f -name '*PERSONNEL.gz' -print | \
sed -e 's%^./%%' | \
sort | \
xargs -r /bin/echo
man
ページを読んでください。
簡単な概要は次のとおりです。
find
ファイル名リストの印刷STDOUT
sed
もっと見やすくする(./231102PERSONNEL.gz
に変更231102PERSONNEL.gz
)sort
リストを並べ替えます。xargs
できるだけ多くのファイルを配置します(xargs --show-limits </dev/null
参照あなたの制限)リストの残りの部分に対して「コマンド」を繰り返します。/bin/echo
プレースホルダーです。