Ответ 1
Использовать sed?
sed -e "s/\(.*\)/'\1'/"
Или, как указано ниже, если каталоги могут содержать апострофы (кошмар, если они есть), используйте этот альтернативный
sed -e "s/'/'\\\\''/g;s/\(.*\)/'\1'/"
У меня есть список каталогов, содержащих пробелы.
Мне нужно окружить их "', чтобы гарантировать, что мои командные скрипты будут работать.
Как можно объединить каждую новую строку с помощью "и" (кавычек).
например.
File1:
/home/user/some type of file with spaces
/home/user/another type of file with spaces
Для
File2:
'/home/user/some type of file with spaces'
'/home/user/another type of file with spaces'
Использовать sed?
sed -e "s/\(.*\)/'\1'/"
Или, как указано ниже, если каталоги могут содержать апострофы (кошмар, если они есть), используйте этот альтернативный
sed -e "s/'/'\\\\''/g;s/\(.*\)/'\1'/"
Использование sed:
sed -i "s/^.*$/'&'/g" filename
Вы можете использовать sed (1) для вставки одинарных кавычек в начале и конце каждой строки в файле так:
sed -i~ -e "s/^/'/;s/$/'/" the_file
очень простая логика, вам просто нужно отбросить кавычки спереди и сзади.
while read -r line
do
echo "'$line'"
# do something
done < "file"