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

apache2                     install
apache2-bin                 install
apache2-data                    install
apache2-utils                   install
libapache2-mod-php5.6               install
libapache2-mod-php5.6               install
php-common                  install
php5.6                      install
php5.6-cli                  install
php5.6-common                   install
php5.6-json                 install
php5.6-opcache                  install
php5.6-readline                 install
libmysqlclient20:i386               install
libmysqlcppconn7v5              install
mysql-client                    install
mysql-client-5.7                install
mysql-client-core-5.7               install
mysql-common                    install
mysql-server                    install
mysql-server-5.7                install
mysql-server-core-5.7               install
mysql-utilities                 install
mysql-workbench                 install
mysql-workbench-data                install
python-mysql.connector              install

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

$ sudo apt-get remove apache2 apache2-bin apache-data....

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

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

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

2 ответа2

0

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

grep -v pattern lists.txt > new_lists.txt
0

Вы должны использовать два инструмента: 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 печатает первый столбец из входных данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .