วิธีลบข้อความจาก txt


0

นี่คือไฟล์ txt ของฉัน

apache2 ติดตั้ง
apache2-bin ติดตั้ง
ติดตั้ง apache2-data
apache2-utils ติดตั้ง
ติดตั้ง libapache2-mod-php5.6
ติดตั้ง libapache2-mod-php5.6
ติดตั้ง php-common
php5.6 ติดตั้ง
php5.6-cli ติดตั้ง
การติดตั้งทั่วไปของ php5.6
php5.6-json ติดตั้ง
php5.6-opcache ติดตั้ง
php5.6-readline ติดตั้ง
libmysqlclient20: i386 ติดตั้ง
ติดตั้ง libmysqlcppconn7v5
ติดตั้ง mysql-client
ติดตั้ง mysql-client-5.7
ติดตั้ง mysql-client-core-5.7
ติดตั้ง MySQL ทั่วไป
ติดตั้ง mysql-server
ติดตั้ง mysql-server-5.7
ติดตั้ง mysql-server-core-5.7
ติดตั้ง mysql-Utilities
ติดตั้ง mysql-workbench
ติดตั้ง mysql-workbench-data
python-mysql.connector ติดตั้ง

ฉันต้องการลบคำเหล่านี้ที่เรียกว่าinstallและช่องว่างระหว่างโมดูลหลังจากที่ฉันต้องการแปลงผลลัพธ์เป็นโค้ดแบบอินไลน์ให้ฉันใช้เหมือนบางสิ่งเหล่านี้:

$ sudo apt-get ลบ apache2 apache2-bin apache-data ....

ฉันสามารถทำสิ่งนี้ในโปรแกรมแก้ไขข้อความ แต่ฉันจำเป็นต้องรู้วิธีที่จะทำให้มันเป็น whitout ในอนาคตใช้โปรแกรมแก้ไขข้อความ

ทำงานต่อ: จากไฟล์ txt ของฉันฉันต้องการสิ่งนี้:

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

คำตอบ:


0

หากต้องการตอบคำถามเดิมของคุณเกี่ยวกับวิธีลบบรรทัดข้อความออกจากไฟล์ข้อความ:

grep -v pattern lists.txt > new_lists.txt

ดูฉบับคุณช่วยฉันได้ไหม
Marcelo Rafael

ฉันไม่รู้ว่าคุณหมายถึงอะไร คำถามของคุณไม่สมเหตุสมผลกับฉัน
mtak

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 พิมพ์คอลัมน์แรกจากข้อมูลอินพุต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.