Có thể cut
một chuỗi không có ngắt dòng không?ngăn dòng mới trong lệnh cắt
printf 'test.test'
in test.test
mà không có dòng mới.
Nhưng nếu tôi cắt đầu ra với printf 'test.test' | cut -d. -f1
có một dòng mới phía sau test
.
Có thể cut
một chuỗi không có ngắt dòng không?ngăn dòng mới trong lệnh cắt
printf 'test.test'
in test.test
mà không có dòng mới.
Nhưng nếu tôi cắt đầu ra với printf 'test.test' | cut -d. -f1
có một dòng mới phía sau test
.
Tôi không biết điều đó. man cut
là khá ngắn và không phản ánh bất cứ điều gì tương tự.
Thay vào đó, bạn có thể cung cấp các cut
đầu ra để printf
với một here-string, do đó vấn đề dòng mới phụ thuộc một lần nữa trên printf
:
printf '%s' $(cut -d. -f1 <<< "test.test")
Nếu bạn không cần phải sử dụng cut
, bạn có thể đạt được cùng một kết quả với awk
:
printf 'test.test' | awk -F. '{printf($1)}'
Cảm ơn! Đầu tiên tôi đã có 'awk' NR == 3 {printf "Tín hiệu WiFi Strength =" $ 3 * 10/7} '/ proc/net/không dây | cắt -d -f1; printf "%% \ n" 'nhưng' cắt' đã tạo một dòng mới vì vậy tôi đã yêu cầu một giải pháp. Tuy nhiên nếu có một cách dễ dàng hơn để giải quyết nó với một lệnh awk, tôi sẽ thích nó! (ví dụ: 'awk' NR == 3 {print "Tín hiệu WiFi Strength =" $ 3 * 10/7 "%"} '/ proc/net/wireless' và cắt đầu ra của '$ 3 * 10/7' sau dấu chấm) – mamiu
làm thế nào về: 'printf (" WiFi tín hiệu Strength =%. 0f %% ", $ 3 * 10/7)' (%% cuối cùng tương ứng với "%" trong mã awk của bạn). – isedev
bạn thực sự nên chấp nhận câu trả lời của @ fedorqui - nó tương ứng với câu hỏi được đăng thực tế. Tôi đã đăng câu trả lời của mình như một giải pháp thay thế có thể cho mục đích giáo dục. – isedev
Có nhiều cách. Ngoài isedev và câu trả lời fedorqui, bạn cũng có thể làm:
perl -ne '/^([^.]+)/ && print $1' <<< "test.test"
cut -d. -f1 <<< "test.test" | tr -d $'\n'
cut -d. -f1 <<< "test.test" | perl -pe 's/\n//'
while read -d. i; do printf "%s" "$i"; done <<< "test.test
Rất toàn diện! +1 Có cần sử dụng '$ '\ n'' trên' tr -d' không? Với tôi, 'tr -d '\ n'' hoạt động tốt. – fedorqui
@fedorqui huh, rõ ràng là không. Tôi nghĩ rằng tôi nhớ rằng nó từng là nhưng tôi có thể sai. Có lẽ nó phụ thuộc vào việc thực hiện 'tr'. Tôi đã làm nó theo cách này ra khỏi thói quen. – terdon
'$' (đô la) trong 'tr -d $ '\ n'' có nghĩa là gì? –
Như tôi thấy bạn nhận xét về một vấn đề chung chung hơn, bạn' d tốt hơn cập nhật các câu hỏi với những gì bạn chính xác muốn làm. – fedorqui