Sử dụng sed
một lớp lót để in n ký tự đầu tiên là gì? Tôi đang làm như sau:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Sử dụng sed
một lớp lót để in n ký tự đầu tiên là gì? Tôi đang làm như sau:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Câu trả lời:
Không sử dụng sed
, sử dụng cut
:
grep .... | cut -c 1-N
Nếu bạn PHẢI sử dụng sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
rõ ràng có sẵn trên Linux, nhưng không có trên Mac.
cut -c 1-N
(trong đó N là một số) không làm việc trên cài đặt Cygwin của tôi (Cygwin v 2.6, cắt v 8,25..) Trên OS X, sử dụng sed -E
hơn sed -r
, được sử dụng ở những nơi khác.
colrm x
Ví dụ: nếu bạn cần 100 ký tự đầu tiên:
cat file |colrm 101
Nó đã tồn tại trong nhiều năm và có trong hầu hết các Linux và bsd (chắc chắn là freebsd), thường là theo mặc định. Tôi không thể nhớ đã bao giờ phải gõ apt-get install colrm
.
colrm
hiểu utf8.
cũng không cần phải sử dụng grep
một ví dụ:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Nghiêm túc với sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Làm thế nào về đầu ?
echo alonglineoftext | head -c 9
cut
không cắt giảm nó trong khised
đó.