Para responder à sua pergunta original sobre como remover linhas de texto de um arquivo de texto:
grep -v pattern lists.txt > new_lists.txt
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 ...
Para responder à sua pergunta original sobre como remover linhas de texto de um arquivo de texto:
grep -v pattern lists.txt > new_lists.txt
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' ' ''
awk -e '{print $1}' < txt|tr '\n' ' '
awk
imprime a primeira coluna dos dados de entrada.