Как удалить текст из текста

Это мой текстовый файл.

apache2 установить apache2-bin установить apache2-data установить apache2-utils установить libapache2-mod-php5.6 установить libapache2-mod-php5.6 установить php-common установить php5.6 установить php5.6-cli установить php5.6-common установить php5.6-json установить php5.6-opcache установить php5.6-readline установить libmysqlclient20:i386 установить libmysqlcppconn7v5 установить mysql-client установить mysql-client-5.7 установить mysql-client-core-5.7 установить mysql-common установить mysql-сервер установить mysql-server-5.7 установить mysql-server-core-5.7 установить mysql-утилиты установить mysql-workbench установить mysql-workbench-data установить python-mysql.connector установить

Я хочу удалить эти слова под названием install и пробелы между модулем, после того, как я хочу преобразовать результат во встроенный код, который я использую, как некоторые из них:

$ sudo apt-get удалить apache2 apache2-bin apache-data....

Я могу сделать это в текстовом редакторе, но мне нужно знать, как сделать это в будущем без использования текстового редактора.

Возобновление: из моего TXT-файла я хочу что-то вроде этого:

apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5.0 ...

2 ответа

Чтобы ответить на исходный вопрос о том, как удалить строки текста из текстового файла:

grep -v pattern lists.txt > new_lists.txt

Вы должны использовать два инструмента: sed и tr

sed -e 's/\s*install\s*$//g' txt|tr '\n' ' '

sed удаляет все, кроме имен пакетов tr заменяет новые строки пробелом.

sudo apt-get remove `sed -e 's/\s*install\s*$//g' txt|tr '\n' ' '`

Другое решение: awk и tr

awk -e '{print $1}' < txt|tr '\n' ' '

awk печатает первый столбец из входных данных.

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