Với sed, một lớp lót để in n ký tự đầu tiên là gì. Tôi đang làm như sau.Sử dụng sed, làm thế nào để bạn in các ký tự 'N' đầu tiên của một dòng?
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Với sed, một lớp lót để in n ký tự đầu tiên là gì. Tôi đang làm như sau.Sử dụng sed, làm thế nào để bạn in các ký tự 'N' đầu tiên của một dòng?
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Không sử dụng sed, sử dụng cắt.
grep .... | cut -c 1-N
Nếu bạn PHẢI sử dụng sed:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
đúng với sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
không cần phải sử dụng grep hoặc
một ví dụ:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
colrm x
Ví dụ, nếu bạn cần 100 ký tự đầu tiên:
cat file |colrm 101
Nó được khoảng năm và đang trong nhất của Linux và của bsd (freebsd cho chắc chắn), thường theo mặc định. Tôi không thể nhớ đã bao giờ phải nhập apt-get install colrm
.
Điều này không cung cấp 50 ký tự đầu tiên. Nó cung cấp cho n ký tự cho mỗi dòng văn bản – bsmoo
Để in ký tự đầu tiên N bạn có thể loại bỏ các nhân vật N + 1 cho đến cuối dòng:
$ sed 's/.//5g' <<< "defn-test"
defn
Trên thực tế trên một hệ thống Cygwin Tôi đang làm việc trên tại 'cut' không cắt nó trong khi 'sed' làm. – guaka
Hoặc thậm chí là 'sed -r 's/^ (. {12}). */\ 1 /''. – fedorqui
@fedorqui '-r' dường như có sẵn trên Linux, nhưng không có trên Mac. –