У меня есть местоположение:
/Users/spotter/Downloads
и в папке «Downloads» есть два файла:
test1.txt
и test2.txt
.
Я хочу написать сценарий оболочки, чтобы сохранить все файлы в списке с такой строкой:
file_list="$(ls /Users/spotter/Downloads)"
и echo $file_list
вернет:
/Users/spotter/Downloads/test1.txt
/Users/spotter/Downloads/test2.txt
Однако я хочу изменить часть имени. В частности, я хочу изменить /Users/spotter
часть на gs://my_bucket
Я пробовал это так:
file_list="$(ls /Users/spotter/Downloads |
while read path; do dirname "$path" | sed -i "s|/Users/spotter|gs://my_bucket|g"; done)"
, который возвращает:
sed: no input files
когда я делаю echo $file_list
Я хочу, чтобы это было выводом:
gs://my_bucket/Downloads/test1.txt
gs://my_bucket/Downloads/test2.txt
РЕДАКТИРОВАТЬ:
Я ДОЛЖЕН использовать ls
, и мне нужно сохранить замену всей строки в одном списке в конце, так или иначе.