Tôi có một tệp văn bản có nhiều mục nhập trong đó. Mỗi mục được kết thúc bằng dòng chứa tất cả các dấu hoa thị.Làm cách nào tôi có thể chỉ định kết hợp biểu thức chính quy của tôi với một biến?
Tôi muốn sử dụng lệnh shell để phân tích cú pháp tệp này và gán từng mục nhập cho một biến. Tôi có thể làm cái này như thế nào?
Dưới đây là một ví dụ tập tin đầu vào:
*********** Field1 *********** Lorem ipsum Data to match *********** More data Still more data ***********
Đây là những gì giải pháp của tôi trông như thế cho đến nay:
#!/bin/bash
for error in `python example.py | sed -n '/.*/,/^\**$/p'`
do
echo -e $error
echo -e "\n"
done
Tuy nhiên, điều này chỉ gán cho mỗi từ trong văn bản phù hợp đến $ lỗi, chứ không phải hơn cả một khối.
Thật vậy, nó sẽ rất tuyệt nếu có một hướng dẫn dứt khoát để bash biểu thức thông thường, nhưng như @ Jefromi nói, nó chỉ là một loạt các ngẫu nhiên. – g33kz0r
@Noah: Từ trang người đàn ông: "chuỗi bên phải của toán tử được coi là một biểu thức chính quy mở rộng và phù hợp cho phù hợp (như trong regex (3)." Vì vậy, đó là POSIX mở rộng regex, có? Điều đó có vẻ ... khá – Cascabel
Đó là tất cả tốt và tốt, Jefromi.Nhưng nó không phải là diveintobashregex.org – g33kz0r