ファイルタイプが.csvですが、ファイル名が異なります。理想的には、スクリプトで.csvタイプのすべてのファイルを検索し、パス名を使用してファイルの名前を変更したいと思います。誰かが私は1つのきれいなループでこれを行うには、このコードを再構築助けることができるパス名を使用してファイルの名前を変更します。
/home/doc/funds2015/folder xxx/folder 123/Folder xxx/something1.csv
/home/doc/funds2015/folder xxx/folder 123/Folder xxx/something2.csv
xxx_123_01_01.csv
xxx_123_02_01.csv
:ファイルの名前が変更された場合
彼らはこのようなものでなければなりません。私はかなり新鮮なbashです。
oldpath= "/home/doc/funds2015"
for file in $(find $oldpath -type f -name something1.csv); do
shortname=${file#$oldpath/}
newname="${shortname "some reg ex"}"
if [ -f $newname ]; then
echo "$newname already exists."
else
echo "copy: $file"
echo " --> $newname"
cp $file $newname
fi
done
for file in $(find $oldpath -type f -name something2.csv); do
shortname=${file#$oldpath/}
newname="$oldpath "some reg ex"}"
if [ -f $newname ]; then
echo "$newname already exists."
else
echo "copy: $file"
echo " --> $newname"
cp $file $newname
fi
done
ファイルパスには2つの "xxx"ビットがあり、出力例には "xxx"が1つあります。どの「xxx」が欲しいですか? – spinkus
私は最初の 'xxx'だけを必要とし、すべての.csvファイルの最後に '_01'を追加します –