ファイル名に基づいて同じ名前のフォルダに移動したい.tifファイルを含むフォルダがあります。サンプルファイル 123456789_002.tif --> dir 113456789.
_前のファイルの最初の部分をどのようにインポートしてファイルを移動するのに使用できますか?
ベストアンサー1
ファイル名が変数に格納されている場合は、bash と同様のシェルで$filename
最初のアンダースコアの前の部分を使用できます。_
${filename%%_*}
小さなスクリプトは次のとおりです。
#!/bin/bash
# loop over all tif files
for filename in *.tif ; do
# extract portion before _
dirname="${filename%%_*}"
# ensure destination folder exists
mkdir -p "$dirname/"
# move the file
mv "$filename" "$dirname/"
done