@Lunatik-cyber
Начинающий программист.

Команда sed не заменяет слова?

По идее знак , должен заменяться на , и таким образом база должна пополняться, но что-то пошло не так

root:~/BOT# bash test.sh
ID: 123456789
[12345678, ${id}, 122345678 ,123453434, 1234534564]
root:~/BOT# cat users.txt
[12345678, 122345678 ,123453434, 1234534564]

root:~/BOT# cat test.sh
read -p "ID: " id
sed -e 's/,/, ${id},/' users.txt
  • Вопрос задан
  • 112 просмотров
Решения вопроса 3
Марат Таганов, кавычки должны быть двойные :

sed -e "s/,/, ${id},/" users.txt

пример:
echo a,b,c > users.txt;read -p "ID: " id; sed -e "s/,/, ${id},/" users.txt
ID: 123456
a, 123456,b,c
Ответ написан
@Lunatik-cyber Автор вопроса
Начинающий программист.
Решение было довольно простым:
read -p "ID: " id
perl -pi -w -e "s/,/, ${id},/" users.txt


Вдруг кому то пригодиться.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
sed -ie "s/,/, ${id},/" users.txt

Чтобы ${id} работало, надо использовать двойные кавычки
Чтобы изменялся сам файл, надо использовать опцию -i
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы