автоматическое редактирование текстовый файл

сначала позвольте мне сказать, что я преподавал мне Linux, и я еще не "техник", хорошо осведомленный. Я использую Ubuntu 18.04 и использую Bash создать файлы, которые я могу выполнить. Одна вещь, которую я пытаюсь сделать, является этим. Я люблю ASCII-творчество. Я хочу создать сценарий, который возьмет файл, который я говорю ему (исключая: ./convert moon) moon будучи текстовым файлом, содержащим ASCII-творчество. Я хочу заставить сценарий редактировать файл, с которым я говорю ему редактировать каждую строку echo " вначале, и " в конце строки, для каждой строки в файле. Наконец поместите #!/bin/bash оператор как первая строка. Я экспериментировал с различными методами, но, может казаться, не разбираюсь в нем. Если бы это было Windows BAT file I, то не имел бы никаких проблем при выполнении этого. Таким образом, любая справка, которую любой может дать, будет значительно одобрена... заранее спасибо.

1
задан 18 November 2018 в 01:59

1 ответ

Не забудьте заключать специальные символы в кавычки, я записал этот ответ, затрагивающий эту тему.

Это может на самом деле быть сделано с синглом sed вызов:

<moon sed -e 's/.*/echo "&"/' -e '1s_^_#!/bin/bash\n_' >moon.bash

Это берет moon как входной файл, первое выражение заменяет каждой строкой с “эхом "исходное содержание строки"”, второй заменяет началом первой строки с хижины, сопровождаемой символом новой строки, и вывод хранится как moon.bash.

Если Вы регулярно используете его, я рекомендую добавить его как функцию к Вашему ~/.bashrc файл, например:

ascii_convert(){ <$1 sed -e 's/.*/echo "&"/' -e '1s_^_#!/bin/bash\n_' >$1.bash ;}

(Не забывайте сохранить файл и получить его с . ~/.bashrc ) Таким образом, можно преобразовать любой файл с простым:

ascii_convert moon

Пример выполняется

$ cat moon
1
2
3
$ ascii_convert moon
$ cat moon.bash 
#!/bin/bash
echo "1"
echo "2"
echo "3"
3
ответ дан 3 December 2019 в 07:22

Другие вопросы по тегам:

Похожие вопросы: