เอาต์พุตของคำสั่งของฉันเป็นดังนี้:
1540 "A B"
6 "C"
119 "D"
คอลัมน์แรกจะเป็นตัวเลขเสมอตามด้วยช่องว่างแล้วจึงเป็นสตริงที่มีเครื่องหมายคำพูดคู่
จุดประสงค์ของฉันคือการได้รับคอลัมน์ที่สองเท่านั้นเช่น:
"A B"
"C"
"D"
ฉันตั้งใจจะใช้<some_command> | awk '{print $2}'
เพื่อให้บรรลุสิ่งนี้ แต่คำถามก็คือค่าบางค่าในคอลัมน์ที่สองมีช่องว่างซึ่งเป็นตัวคั่นเริ่มต้นสำหรับawk
แยกเขตข้อมูล ดังนั้นผลลัพธ์จะเลอะ:
"A
"C"
"D"
ฉันจะรับค่าคอลัมน์ที่สองได้อย่างไร (ด้วยเครื่องหมายคำพูดคู่) อย่างสะอาด?
awk '{$1=""; print $0}'
แต่ก็ยังมีตัวละครที่เป็นพื้นที่สีขาว sed '/^ //'
มันอาจจะถูกลบออกโดย กระนั้นสิ่งนี้สามารถทำได้ด้วยawk
หรือ