Замените одинарные кавычки на двойные и наоборот в файле одной командной строкой - PullRequest
0 голосов
/ 04 мая 2018

Есть ли способы сделать это более чистым / простым, чем это:

$ tr '"' '?' < f.txt > f1.txt && tr "'" '"' < f1.txt > f.txt \
    && tr '?' "'" < f.txt > f1.txt && rm f.txt && mv f1.txt f.txt 

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете использовать более длинные наборы в вашей команде tr:

tr \'\" \"\' < f.txt > f1.txt && mv t1.txt f.txt

Также вы можете использовать sed с его флагом -i (на месте) (требуется GNU sed):

sed -i "y/'\"/\"'/" f.txt

Для sed, найденного в macOS, требуется опция для флага -i; чтобы перезаписать исходный файл, вы должны использовать sed -i ''.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...