Intereting Posts
Почему мой скрипт Bash возвращает синтаксическую ошибку? Локальный unix-сокет – приблизительное представление о пропускной способности Как настроить точку доступа Wi-Fi только для пользователей, если они согласятся с EULA? Как загрузить все имена пользователей? Как написать команду luit, которая выводит файл Проверка и проверка блокировки из другого процесса Не удается подключиться к Интернету из локальной сети wget не может быть убит с помощью 'kill -9' Какие типы разрешений должны иметь домашний каталог пользователя и файлы? Как заставить Xorg использовать драйвер wacom для моего графического планшета? Как я могу вернуться в «обычный» режим редактирования после нажатия esc в режиме zsh (vi)? Центр программного обеспечения Gnome 3 Настройка ssh – reboots x server FreeBSD – эквивалент UFS для команды ZFS Можно ли использовать двухзарядный Linux Mint на любом ноутбуке Windows 8?

добавить обратную косую черту перед конкретным символом

у нас есть файл с большим количеством символов “%” в файле

мы хотим добавить перед каждым “%” обратную косую черту

как

\% 

пример

до

 %TY %Tb %Td %TH:%TM %P 

после

 \%TY \%Tb \%Td \%TH:\%TM \%P 

как это сделать с помощью sed?

Довольно просто

 $ echo '%TY %Tb %Td %TH:%TM %P' | sed 's/%/\\%/g' \%TY \%Tb \%Td \%TH:\%TM \%P 

но вы можете сделать то же самое с подстановкой параметров bash

 $ str='%TY %Tb %Td %TH:%TM %P'; backslashed=${str//%/\\%}; echo "$backslashed" \%TY \%Tb \%Td \%TH:\%TM \%P управляющими $ str='%TY %Tb %Td %TH:%TM %P'; backslashed=${str//%/\\%}; echo "$backslashed" \%TY \%Tb \%Td \%TH:\%TM \%P