このコマンドの機能を説明できますか?
files=(this_is_filename)
for filename in ${files[@]}; do
ls -t1 ../htory/$filename* |
head -1 |
xargs -I fname cp -p fname ../htory2/somefile.CSV
done
特にこのコマンドのこの部分
xargs -I fname cp -p fname ../htory2/somefile.CSV
xargs
入力を引数に変換します。この-I
オプションは、引数のプレースホルダーとして使用される文字列を指定します。したがって、パイプラインが次のようなものを出力する場合
file1
file2
次に、xargs
行はそれをに変換します
cp -p file1 ../htory2/somefile.CSV
cp -p file2 ../htory2/somefile.CSV
head -1
私が使用しての本当の利点見ることができないので、唯一、かかわらず、1行を返すxargs
代わりに言って、
cp -p "$(ls -t1 ../htory/$filename* | head -1)" ../htory2/somefile.CSV
また、対象ファイルは常に同じであるため、の最後のファイルで上書きされます${files[@]}
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加