gnome-screenshot (スクリーンショット)を実行すると、保存ファイル名が Screenshot from 2017-06-26 14-47-25.png などのように
ファイル名にスペースが入ってしまう。
あとで、自分でファイル名を任意の名前に変更するのだが、mv コマンドでTABキーを使っていても扱いにくい。
そこで半角スペースを全て_アンダーバーに変更するスクリプトを作ってみました。
// 変更したいファイル名を指定 $ fix_blank.sh Screenshot from 2017-06-26 14-47-25.png mv Screenshot from 2017-06-26 14-47-25.png Screenshot_from_2017-06-26_14-47-25.png // ディレクトリ配下のファイルを一括変換 $ fix_blank.sh ~/Pictures/ mv Screenshot from 2017-06-26 14-47-25.png Screenshot_from_2017-06-26_14-47-25.png
ミソは、 IFS=$’\n’; で
デリミタの環境変数 IFS に、デリミタは、改行コードですよと設定してあげることです。
そうしないと空白スペースをデリミタと判断してしまい、ファイル名の変更がうまく行えません。
fix_blank.sh
#!/bin/bash
IFS=$'\n';
if [ -f "$1" ]; then
NEWFILE=`echo $1| sed -e 's/ /_/g'`;
echo "mv $1 ${NEWFILE}"
mv "$1" ${NEWFILE}
elif [ -d "$1" ]; then
for file in $(ls $1); do
NEWFILE=`echo $file| sed -e 's/ /_/g'`;
if [ "${file}" != "${NEWFILE}" ]; then
echo "mv ${file} ${NEWFILE}"
mv "$1""${file}" ${NEWFILE};
fi
done;
fi


