Gần đây tôi phát hiện ra rằng sed
biểu hiện tốt công việc này đơn giản trên Linux hoặc dưới Cygwin nhưng không thành công trên máy Mac với một lỗi "nhãn không xác định":sed "nhãn không xác định" trên hệ điều hành MacOS
$ sed '/SUCCESSFUL/d ; /\[java\]/!b label; s/\s\+\[java\]//; /^\s*$$/d; /Compiling/!d; :label /^\s*$$/d; s/^/monitor: /'
sed: 1: "/SUCCESSFUL/d ; /\[java ...": undefined label 'label; s/\s\+\[java\]//; /^\s*$$/d; /Compiling/!d; :label /^\s*$$/d; s/^/monitor: /'
sed
trên hệ điều hành MacOS là một Biến thể BSD với các tùy chọn khác với đối tác GNU. Tuy nhiên man sed
cho biết rõ ràng phiên bản MacOS của sed
hỗ trợ nhãn, vậy tại sao lỗi này và quan trọng nhất là cách giải quyết nó?
+1 và Good catch. Nó cũng giúp hình dung các vấn đề như mã thụt lề, thay vì với một-lót-itis :-) Chúc may mắn. – shellter