grep cho các từ không quá một độ dài nhất định


9

Tôi đang tìm cách để grep những thứ như: i log for E M, i 1 f x i 0, I xi 1, 3 1,.đơn giản dựa trên số lượng ký tự.

Không có gì trong đầu ra giả thuyết đó dài hơn ba ký tự. Điều này một giả thuyết sẽ trông giống như , grep -v [:alnum:] > {3}. (Ngoại trừ tôi chỉ không biết cách viết nó theo cú pháp grep.)


Bạn có muốn ghép các ký tự như ,.là một phần của một từ không?

Câu trả lời:


19
grep -o -w '\w\{1,3\}' data

Các tùy chọn là:

  • -o chỉ in các từ phù hợp
  • -w chỉ khớp toàn bộ từ

Nó chỉ khớp với các từ (trong grep \ w = [[: alnum:]] = [A-Za-z0-9]) có độ dài từ 1 đến 3 (được chỉ định bởi {1,3})


cảm ơn. cú pháp cơ bản của câu trả lời của bạn là những gì tôi cần và cuối cùng tôi chỉ sử dụng dữ liệu grep '\ w \ {3}' và cùng một lệnh với grep -v ..
ixtmixilix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.