[解決済み】bashスクリプトでファイル名のスペースを置換する方法
2022-03-29 07:34:03
質問
与えられたルートディレクトリから始まるファイルとディレクトリ名のスペースをアンダースコアに再帰的に置き換える安全な解決策をどなたか教えてください。例えば、以下のようなものです。
$ tree
.
|-- a dir
| `-- file with spaces.txt
`-- b dir
|-- another file with spaces.txt
`-- yet another file with spaces.pdf
になります。
$ tree
.
|-- a_dir
| `-- file_with_spaces.txt
`-- b_dir
|-- another_file_with_spaces.txt
`-- yet_another_file_with_spaces.pdf
解決方法は?
使用方法
rename
(別名
prename
これはPerlスクリプトで、すでにあなたのシステム上にあるかもしれません。2つのステップで行います。
find . -name "* *" -type d | rename 's/ /_/g' # do the directories first
find . -name "* *" -type f | rename 's/ /_/g'
に基づいています。
ユルゲンの
のバージョンで、ファイルやディレクトリの複数の階層を一度に処理することができます。
/usr/bin/rename
(Perlスクリプト)です。
find /tmp/ -depth -name "* *" -execdir rename 's/ /_/g' "{}" \;
関連
-
[解決済み] Linuxのシェルでwebsocketの応答を読み取る方法
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Bashコマンドからテキストファイルの内部を検索・置換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ssh: ホスト名を解決できなかった [ホスト名]: nodename も servname も提供されないか、不明 [終了].
-
[解決済み】 readChar(con, 5L, useBytes = TRUE) のエラー : 接続を開くことができません。
-
[解決済み] gzip: stdin: not in gzip format tar: 子プロセスがステータス 1 を返しました。エラーは回復不可能:現在終了中
-
[解決済み】 -bash: fork: メモリを確保できない
-
[解決済み] DiffコマンドとGrepで "バイナリファイル(標準入力)が一致 "と表示される。
-
[解決済み] Linuxのシェルでwebsocketの応答を読み取る方法
-
[解決済み] mvで移動先のディレクトリが存在しない場合、作成させる方法はありますか?
-
[解決済み] モスキートクライアントの取得が接続を拒否
-
[解決済み] Nautilusのようにコマンドラインからマウントする方法とは?[クローズド]です。
-
[解決済み] Solaris では lsof -i が相当します。