การกระจาย GNU/Linux มีโปรแกรมมากมายสำหรับจัดการข้อความ ซึ่งส่วนใหญ่มีให้โดยยูทิลิตี้หลักของ GNU มีช่วงการเรียนรู้ค่อนข้างมาก แต่ยูทิลิตี้เหล่านี้สามารถพิสูจน์ได้ว่ามีประโยชน์และมีประสิทธิภาพมากเมื่อใช้อย่างถูกต้อง
ต่อไปนี้คือเครื่องมือจัดการข้อความอันทรงพลังสิบสามเครื่องมือที่ผู้ใช้บรรทัดคำสั่งทุกคนควรรู้
1. แมว
แมวถูกออกแบบมาสำหรับแมว enate ไฟล์ แต่ส่วนใหญ่มักใช้เพื่อแสดงไฟล์เดียว โดยไม่มีข้อโต้แย้ง cat จะอ่านอินพุตมาตรฐานจนถึง Ctrl + D ถูกกด (จากเทอร์มินัลหรือจากเอาต์พุตโปรแกรมอื่นหากใช้ไพพ์) อินพุตมาตรฐานยังสามารถระบุอย่างชัดเจนด้วย -
.
Cat มีตัวเลือกที่มีประโยชน์มากมาย โดยเฉพาะอย่างยิ่ง:
-A
พิมพ์ “$” ที่ส่วนท้ายของแต่ละบรรทัดและแสดงอักขระที่ไม่พิมพ์โดยใช้เครื่องหมายคาเร็ต-n
ตัวเลขทุกบรรทัด-b
เส้นตัวเลขที่ไม่เว้นว่าง-s
ลดชุดของบรรทัดว่างให้เหลือบรรทัดเดียว
ในตัวอย่างต่อไปนี้ เรากำลังเชื่อมต่อและกำหนดหมายเลขเนื้อหาของ file1, standard input และ file3
cat -n file1 - file3
2. เรียงลำดับ
ตามชื่อของมัน sort
จัดเรียงเนื้อหาไฟล์ตามตัวอักษรและตัวเลข
3. ยูนีค
Uniq นำไฟล์ที่เรียงลำดับแล้วลบบรรทัดที่ซ้ำกัน มันมักจะถูกล่ามโซ่ด้วย sort
ในคำสั่งเดียว
4. คอม
Comm ใช้เพื่อเปรียบเทียบไฟล์ที่เรียงลำดับสองไฟล์ ทีละบรรทัด โดยจะแสดงผลเป็นสามคอลัมน์:สองคอลัมน์แรกมีบรรทัดที่ไม่ซ้ำกันสำหรับไฟล์ที่หนึ่งและที่สองตามลำดับ และคอลัมน์ที่สามจะแสดงข้อมูลที่พบในทั้งสองไฟล์
5. ตัด
Cut ใช้เพื่อดึงเฉพาะส่วนของบรรทัด ตามอักขระ ฟิลด์ หรือไบต์ สามารถอ่านจากไฟล์หรือจากอินพุตมาตรฐานหากไม่มีการระบุไฟล์
ตัดตามตำแหน่งของตัวละคร
-c
ตัวเลือกระบุตำแหน่งอักขระตัวเดียวหรือช่วงอักขระหนึ่งช่วงขึ้นไป
ตัวอย่างเช่น:
-c 3
:อักขระตัวที่ 3-c 3-5
:จากตัวที่ 3 ถึงตัวที่ 5-c -5
หรือ-c 1-5
:จากอักขระตัวที่ 1 ถึงตัวที่ 5-c 5-
:จากอักขระตัวที่ 5 ถึงท้ายบรรทัด-c 3,5-7
:ตัวที่ 3 และจากตัวที่ 5 ถึงตัวที่ 7
ตัดตามฟิลด์
ช่องต่างๆ จะถูกคั่นด้วยตัวคั่นที่ประกอบด้วยอักขระตัวเดียว ซึ่งระบุด้วย -d
ตัวเลือก. -f
option เลือกตำแหน่งฟิลด์หรือช่วงของฟิลด์อย่างน้อยหนึ่งช่วงโดยใช้รูปแบบเดียวกับด้านบน
6. ดอส2ยูนิกซ์
GNU/Linux และ Unix มักจะยุติบรรทัดข้อความด้วยการป้อนบรรทัด (LF) ในขณะที่ Windows ใช้การขึ้นบรรทัดใหม่และการป้อนบรรทัด (CRLF) ปัญหาความเข้ากันได้อาจเกิดขึ้นได้เมื่อจัดการข้อความ CRLF บน Linux ซึ่งเป็นที่มาของ dos2unix โดยจะแปลงเทอร์มินัล CRLF เป็น LF
ในตัวอย่างต่อไปนี้ file
คำสั่งที่ใช้ตรวจสอบรูปแบบข้อความก่อนและหลังการใช้ dos2unix
.
7. พับ
หากต้องการให้ข้อความยาวๆ อ่านและจัดการได้ง่ายขึ้น คุณสามารถใช้ fold
ซึ่งตัดเส้นตามความกว้างที่กำหนด
พับตรงกับความกว้างที่ระบุโดยค่าเริ่มต้น ทำลายคำในกรณีที่จำเป็น
fold -w 30 longline.txt
หากไม่ต้องการคำแตก คุณสามารถใช้ -s
ตัวเลือกที่จะทำลายในช่องว่าง
fold -w 30 -s longline.txt
8. ไอคอนv
เครื่องมือนี้แปลงข้อความจากการเข้ารหัสหนึ่งไปยังอีกการเข้ารหัสหนึ่ง ซึ่งมีประโยชน์มากเมื่อต้องจัดการกับการเข้ารหัสที่ผิดปกติ
iconv -f input_encoding -t output_encoding -o output_file input_file
- “input_encoding” คือการเข้ารหัสที่คุณกำลังแปลงจาก
- “output_encoding” คือการเข้ารหัสที่คุณกำลังแปลงเป็น
- “output_file” คือชื่อไฟล์ที่ iconv จะบันทึก
- “input_file” คือชื่อไฟล์ที่ iconv จะใช้อ่าน
หมายเหตุ: คุณสามารถแสดงรายการการเข้ารหัสที่มีอยู่ด้วย iconv -l
9. โสด
sed เป็น s . ที่ทรงพลังและยืดหยุ่น สตรีม เอ็ด itor มักใช้ในการค้นหาและแทนที่สตริงด้วยไวยากรณ์ต่อไปนี้
คำสั่งต่อไปนี้จะอ่านจากไฟล์ที่ระบุ (หรืออินพุตมาตรฐาน) แทนที่ส่วนของข้อความที่ตรงกับรูปแบบนิพจน์ทั่วไปด้วยสตริงการแทนที่และส่งออกผลลัพธ์ไปยังเทอร์มินัล
sed s/pattern/replacement/g filename
หากต้องการแก้ไขไฟล์ต้นฉบับแทน คุณสามารถใช้ -i
ธง.
10. wc
wc
ยูทิลิตีพิมพ์จำนวนไบต์ อักขระ คำ หรือบรรทัดในไฟล์
11. แยก
คุณสามารถใช้ split
เพื่อแบ่งไฟล์เป็นไฟล์ขนาดเล็กลง ตามจำนวนบรรทัด ตามขนาด หรือตามจำนวนไฟล์ที่กำหนด
แยกตามจำนวนบรรทัด
split -l num_lines input_file output_prefix
แยกตามไบต์
split -b bytes input_file output_prefix
แยกเป็นจำนวนไฟล์ที่กำหนด
split -n num_files input_file output_prefix
12. แทค
Tac ซึ่งกลับด้าน cat ทำอย่างนั้น:แสดงไฟล์ที่มีบรรทัดในลำดับที่กลับกัน
13. tr
เครื่องมือ tr ใช้เพื่อแปลหรือลบชุดอักขระ
ชุดอักขระมักจะเป็นสตริงหรือช่วงของอักขระ ตัวอย่างเช่น:
- “A-Z”:ตัวพิมพ์ใหญ่ทั้งหมด
- “a-z0-9”:ตัวพิมพ์เล็กและตัวเลข
- “\n[:punct:]”:ขึ้นบรรทัดใหม่และเครื่องหมายวรรคตอน
ดูรายละเอียดเพิ่มเติมในหน้าคู่มือ tr
หากต้องการแปลชุดหนึ่งเป็นชุดอื่น ให้ใช้ไวยากรณ์ต่อไปนี้:
tr SET1 SET2
ตัวอย่างเช่น ในการแทนที่อักขระตัวพิมพ์เล็กด้วยตัวพิมพ์ใหญ่ที่เทียบเท่า คุณสามารถใช้สิ่งต่อไปนี้:
tr "a-z" "A-Z"
หากต้องการลบชุดอักขระ ให้ใช้ -d
ธง.
tr -d SET
หากต้องการลบส่วนเสริมของชุดอักขระ (เช่น ทุกอย่างยกเว้นชุด) ให้ใช้ -dc
.
tr -dc SET
บทสรุป
มีมากมายให้เรียนรู้เมื่อพูดถึงบรรทัดคำสั่ง Linux หวังว่าคำสั่งข้างต้นจะช่วยให้คุณจัดการกับข้อความในบรรทัดคำสั่งได้ดียิ่งขึ้น