[解決済み] 要素に空白を含むBash配列
2022-04-23 04:39:33
質問
カメラのファイル名の配列をbashで構築しようとしています。
FILES=(2011-09-04 21.43.02.jpg
2011-09-05 10.23.14.jpg
2011-09-09 12.31.16.jpg
2011-09-11 08.43.12.jpg)
ご覧のように、各ファイル名の途中にはスペースがあります。
それぞれの名前を引用符で囲んだり、スペースをバックスラッシュでエスケープしてみましたが、どちらもうまくいきません。
配列の要素にアクセスしようとすると、スペースが要素の区切り文字として扱われ続けます。
ファイル名の中にスペースがある場合、どのようにすれば正しくキャプチャできますか?
どのように解決するのですか?
要素へのアクセス方法に問題があるのかもしれませんね。もし私が単純な
for elem in $FILES
というのは、私もあなたと同じ問題が発生するからです。しかし、このようにインデックスを通して配列にアクセスする場合、要素を数値またはエスケープで追加すると動作します。
for ((i = 0; i < ${#FILES[@]}; i++))
do
echo "${FILES[$i]}"
done
これらの宣言のいずれかが
$FILES
は動作するはずです。
FILES=(2011-09-04\ 21.43.02.jpg
2011-09-05\ 10.23.14.jpg
2011-09-09\ 12.31.16.jpg
2011-09-11\ 08.43.12.jpg)
または
FILES=("2011-09-04 21.43.02.jpg"
"2011-09-05 10.23.14.jpg"
"2011-09-09 12.31.16.jpg"
"2011-09-11 08.43.12.jpg")
または
FILES[0]="2011-09-04 21.43.02.jpg"
FILES[1]="2011-09-05 10.23.14.jpg"
FILES[2]="2011-09-09 12.31.16.jpg"
FILES[3]="2011-09-11 08.43.12.jpg"
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TypeScriptのオブジェクトをC#のようにDictionary型にする
-
[解決済み】数値の配列が与えられたとき、他のすべての数値の積の配列を返す(除算なし)
-
[解決済み] 配列からランダムに要素を選ぶ
-
[解決済み] 要素に空白を含むBash配列
-
[解決済み] scalaのArrayとListの違いについて
-
[解決済み] Bash配列から要素を削除する
-
[解決済み] インデックスレンジSwiftからの新配列
-
[解決済み] Luaの配列(テーブル)はなぜ0ではなく1から始まるのですか?
-
[解決済み] 行列を1次元の配列に変換する。
-
[解決済み] SwiftのJSONDecodeで配列のデコードに失敗する(単一要素のデコードに失敗した場合