
あるディレクトリにあるファイルの名前をシェルスクリプトで一括変更したいと思っています。
旧ファイル名 新ファイル名
apple banana
orange lemon
kiwi melon
strawberry apricot
のように、新旧ファイル名(拡張子を除く)をタブで区切ってfilename.txtというファイルに入れてあります。ごらんの通り新旧ファイル名とも規則的ではありません。拡張子は新旧ともすべて.wavです。
awkもしくはreadでできるかなと思ったのですが、私の力ではできませんでした。お知恵を拝借できれば幸いです。(シェル初心者、使っているのはBシェルです)
No.1ベストアンサー
- 回答日時:
こんな感じ?
#!/bin/sh
source='filename.txt'
if [ "x$1" != "x" ]
then
source=$1
fi
while read from to
do
echo "mv ${from}.wav ${to}.wav"
done < $source
確認のため echo で文字列出力するようにしています。
実際に使うなら echo の行を調整するなどしてください。
できました!ありがとうございました!!
ちなみに
source='filename.txt'
if [ "x$1" != "x" ]
then
source=$1
fi
の部分は、新旧ファイル名を格納してあるファイルを引数として指定できるようにするためですか?つまり、もしコマンド名の後に別のファイル名を引数として指定すれば、そのファイルから新旧ファイル名を読み込む、引数がなければfilename.txtから読み込む、という。
No.2
- 回答日時:
このファイルから例えば
mv apple.wav banana.wav
のような行を出力するように awk で処理して sh にパイプで食わせるってのもありだと思います.
awk '{print "mv "$2".wav "$1".wav"}' filename.txt | sh
ってことですね!1行でできてしまうんですねー。
理論的にはわかっていたのですが、「shにパイプで食わせる」という基本的な方法を知らず、前に進めずにいました。でもご指摘いただいて調べた結果、できるようになりました。勉強になりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/11 11:05
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- ノートパソコン ソフトアンインストール残存ファイル 3 2022/09/13 18:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えてください!困ってます。
-
emlをtxtに変換するには?
-
onedriveの中身を削除したらパ...
-
外字ファイル、eudc.tte と e...
-
office365 ファイルを削除したい
-
Winmerge ファイルの中身は同じ...
-
mrl→midファイルへ
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
msiファイルの処理について
-
ショートカットアイコンと、元...
-
ファイルの単位
-
.tmp.mp4と.mp4の違い
-
Excellにて→ファイルエラー:デ...
-
MGRファイルは消して良いのか
-
ウイルスバスター内のTempフォルダ
-
r00、r01、 r02… のrarファイル
-
mac ファイルの詳細情報を編集...
-
ファイルソートができるMac用フ...
-
ファイルの先頭行を全て削除したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
教えてください!困ってます。
-
emlをtxtに変換するには?
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
ファイルの先頭行を全て削除したい
-
コマンドプロンプトによるフォ...
-
mrl→midファイルへ
-
外字ファイル、eudc.tte と e...
-
バッチファイルで変数の中身を...
-
office365 ファイルを削除したい
-
Windows10 フォルダ内の自動並...
-
ファイルの単位
-
ショートカットアイコンと、元...
-
VScodeでjarファイルを開く方法
-
macのdmgファイル(動画)をMP4...
-
バッチファイルからタスクスケ...
-
フォルダ内の一覧を印刷するには?
-
mac ファイルの詳細情報を編集...
-
Excellにて→ファイルエラー:デ...
おすすめ情報