Como remover um texto de um txt

0

Este é o meu arquivo txt.

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

Eu quero remover essas palavras chamadas install e os espaços entre o módulo, depois eu quero transformar o resultado em um código inline para mim usar, como alguns destes:

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

Eu posso fazer isso em um editor de texto, mas posso precisar saber como fazer isso no futuro sem usar um editor de texto.

Continuando: Do meu arquivo txt, eu quero algo assim:

apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5.0 ...
    
por Marcelo 13.05.2017 / 00:37

2 respostas

0

Para responder à sua pergunta original sobre como remover linhas de texto de um arquivo de texto:

grep -v pattern lists.txt > new_lists.txt
    
por 13.05.2017 / 00:42
0

Você deve usar duas ferramentas: sed e tr

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

sed remove tudo, exceto os nomes dos pacotes. tr substitui novas linhas por espaço.

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

Outra solução: awk e tr

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

awk imprime a primeira coluna dos dados de entrada.

    
por 13.05.2017 / 08:58