Đầu ra của lệnh của tôi là một cái gì đó như:
1540 "A B"
6 "C"
119 "D"
Cột đầu tiên luôn là một số, theo sau là khoảng trắng, sau đó là chuỗi trích dẫn kép.
Mục đích của tôi là chỉ lấy cột thứ hai, như:
"A B"
"C"
"D"
Tôi dự định sử dụng <some_command> | awk '{print $2}'
để thực hiện điều này. Nhưng câu hỏi là, một số giá trị trong cột thứ hai chứa (các) khoảng trắng, đây là dấu phân cách mặc định awk
để phân tách các trường. Do đó, đầu ra bị rối:
"A
"C"
"D"
Làm cách nào để có được giá trị của cột thứ hai (có dấu ngoặc kép) một cách sạch sẽ?
awk '{$1=""; print $0}'
, nhưng nó vẫn có một nhân vật khoảng trắng hàng đầu. Nó có thể được gỡ bỏ bởi sed '/^ //'
. Tuy nhiên, điều này có thể được thực hiện với awk
?