<ก่อนหน้านี้ | Contents | ถัดไป>
พาสต้า
การขอ พาสต้า คำสั่งทำตรงกันข้ามกับ ตัด. แทนที่จะแยกคอลัมน์ของข้อความออกจากไฟล์ จะเพิ่มคอลัมน์ข้อความหนึ่งคอลัมน์ขึ้นไปในไฟล์ ทำได้โดยการอ่านหลายไฟล์และรวมฟิลด์ที่พบในแต่ละไฟล์เป็นสตรีมเดียวบนเอาต์พุตมาตรฐาน ชอบ ตัด, พาสต้า ยอมรับหลายไฟล์อาร์กิวเมนต์และ/หรืออินพุตมาตรฐาน เพื่อสาธิตวิธีการ พาสต้า ดำเนินการเราจะทำการผ่าตัดบางส่วนของเรา distros.txt ไฟล์เพื่อสร้างรายการเผยแพร่ตามลำดับเวลา
จากงานก่อนหน้านี้ของเรากับ ประเภทก่อนอื่นเราจะสร้างรายการ distros ที่จัดเรียงตามวันที่และเก็บผลลัพธ์ไว้ในไฟล์ชื่อ distros-by-date.txt:
[me@linuxbox ~]$ sort -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt > dis tros-by-date.txt
[me@linuxbox ~]$ sort -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt > dis tros-by-date.txt
ต่อไปเราจะใช้ ตัด เพื่อแยกสองฟิลด์แรกออกจากไฟล์ (ชื่อ distro และเวอร์ชัน) และเก็บผลลัพธ์เป็นไฟล์ที่ชื่อ distro-versions.txt:
[me@linuxbox ~]$ ตัด -f 1,2 distros-by-date.txt > distros-versions.t xt
[me@linuxbox ~]$ หัว distros-versions.txt
Fedora | 10 |
อูบุนตู | 8.10 |
SUSE | 11.0 |
Fedora | 9 |
อูบุนตู | 8.04 |
Fedora | 8 |
อูบุนตู | 7.10 |
SUSE | 10.3 |
Fedora | 7 |
อูบุนตู | 7.04 |
การเตรียมการขั้นสุดท้ายคือการดึงวันที่เผยแพร่และจัดเก็บไฟล์ชื่อ
distro-dates.txt:
[me@linuxbox ~]$ ตัด -f 3 distros-by-date.txt > distros-dates.txt
[me@linuxbox ~]$ หัว distros-dates.txt
11/25/2008
10/30/2008
06/19/2008
05/13/2008
04/24/2008
11/08/2007
10/18/2007
10/04/2007
05/31/2007
04/19/2007
[me@linuxbox ~]$ ตัด -f 3 distros-by-date.txt > distros-dates.txt
[me@linuxbox ~]$ หัว distros-dates.txt
11/25/2008
10/30/2008
06/19/2008
05/13/2008
04/24/2008
11/08/2007
10/18/2007
10/04/2007
05/31/2007
04/19/2007
ตอนนี้เรามีชิ้นส่วนที่เราต้องการแล้ว เพื่อให้กระบวนการเสร็จสมบูรณ์ ให้ใช้ พาสต้า เพื่อวางคอลัมน์ของวันที่ไว้ข้างหน้าชื่อและเวอร์ชัน distro จึงสร้างรายการตามลำดับเวลา ทำได้ง่ายๆ โดยใช้ พาสต้า และจัดลำดับข้อโต้แย้งในการจัดเรียงที่ต้องการ:
[me@linuxbox | - พาสต้า | distros-dates.txt distros-versions.txt |
11/25/2008 | Fedora | 10 |
10/30/2008 | อูบุนตู | 8.10 |
06/19/2008 | SUSE | 11.0 |
05/13/2008 | Fedora | 9 |
04/24/2008 | อูบุนตู | 8.04 |
11/08/2007 | Fedora | 8 |
10/18/2007 | อูบุนตู | 7.10 |
10/04/2007 | SUSE | 10.3 |
05/31/2007 | Fedora | 7 |
04/19/2007 | อูบุนตู | 7.04 |
12/07/2006 | SUSE | 10.2 |
10/26/2006 | อูบุนตู | 6.10 |
10/24/2006 | Fedora | 6 |
06/01/2006 | อูบุนตู | 6.06 |
05/11/2006 | SUSE | 10.1 |
03/20/2006 | Fedora | 5 |