В настоящее время я пишу сценарий bash. Предположим, у меня есть следующая строка:Разделить строку на массив (с разделителем "")
C:\Program Files\Folder1\ C:\Program Files\Folder2\ C:\Program Files\Folder3\
Эта строка может содержать неизвестное количество мест в окнах. Теперь мне нужно разбить строку на массив в конце каждого местоположения, поэтому каждое место имеет свой собственный ключ в массиве. Основная проблема - это пробелы в каждом пути (Program Files).
То, что я пытался до сих пор:
Использование IFS переменной:
oldIFS="$IFS"
IFS="\ "
myArray=($myString)
IFS="$oldIFS"
Проблема здесь в том, что он режет места на каждой обратной косой черты, а не только обратный слэш и пробелы, как это был предназначен. Итак, C:
- это первый элемент моего массива.
Использование команды чтения:
IFS="\ " read -ra myArray "$myString"
Та же проблема, как и раньше.
Любые идеи о том, как это решить?
Редактировать: Я не использую настоящий bash, а git bash на окнах. Поэтому не каждая команда bash доступна.
Нет, потому что компьютеры не психические. –
'bash' и' Windows' с путями стиля 'Windows'? –
Мой плохой, я отредактировал строку, так что теперь должно быть ясно, что я хочу делать. – JoelP