У меня есть папка, скажем, расположенная здесь:
/Users/spotter/Downloads
и в папке root есть два файла:
test1.txt
и test2.txt
.
Я хочу написать сценарий оболочки для сохранения всех файлов в списке с такой строкой:
file_list="$(ls /Users/spotter/Downloads)"
и echo $file_list
return:
/Users/spotter/Downloads/test1.txt
/Users/spotter/Downloads/test2.txt
Однако я хочу изменить часть имени. В частности, я хочу удалить /Users/spotter
часть.
Я пробовал это так:
file_list="$(ls /Users/spotter/Downloads |
while read path; do dirname "$path" | sed 's/users/spotter///'; done)"
, который возвращает:
sed: 1: "s/users/spotter/Downloa ...": bad flag in substitute command: 'D'
sed: 1: "s/users/spotter/Downloa ...": bad flag in substitute command: 'D'
когда я делаю echo $file_list
Я хочу, чтобы это было выводом:
Downloads/test1.txt
Downloads/test2.txt