Trầm tích
sed 's/\s.*$//'
Grep
grep -o '^\S*'
Awk
awk '{print $1}'
Như đã chỉ ra trong các ý kiến, -o
không phải là POSIX; tuy nhiên cả GNU và BSD đều có nó, vì vậy nó sẽ hoạt động với hầu hết mọi người.
Ngoài ra, \s
/ \S
có thể không có trên tất cả các hệ thống, nếu hệ thống của bạn không nhận ra nó, bạn có thể sử dụng một không gian theo nghĩa đen hoặc nếu bạn muốn có không gian và tab, những thứ trong một biểu thức ngoặc ( [...]
) hoặc [[:blank:]]
lớp ký tự (lưu ý rằng nói đúng \s
là tương đương [[:space:]]
và bao gồm các ký tự khoảng cách dọc cũng như CR, LF hoặc VT mà bạn có thể không quan tâm).
Người awk
ta giả sử các dòng không bắt đầu bằng một ký tự trống.
<
nó hữu ích ở đây?