Использование sed для вставки вкладок - PullRequest
7 голосов
/ 04 марта 2011

Я использую эту команду:

sed -i "10 i \t\t\ttime.sleep(0.1) " /home/test_file

для вставки в строку 10 строки типа: <TAB><TAB><TAB>sleep(0.1)

Но я получил

t<TAB><TAB>sleep(0.1)...

Можете ли вы сказать мне, как получить этот результат? спасибо

PS. Я использую эту команду в исполняемом скрипте bash.

1 Ответ

29 голосов
/ 04 марта 2011

Я считаю, что проблема в конкуренции между тем, как shell и sed расширяют метасимволы.Я попытался утроить первый символ обратной косой черты, и мне кажется, что это работает:

sed -i "i \\\t\t\ttime.sleep(0.1) " tmp.tmp
...