Tôi muốn xóa bất kỳ ABC nào ở cuối chuỗi.Xóa mẫu ở cuối chuỗi bằng cách sử dụng các công cụ bash hoặc các công cụ bash khác
Điều tốt nhất tôi đã nảy ra là
echo ${String}| sed -e 's/["ABC"]*$//g'
Tuy nhiên, nó sẽ loại bỏ tất cả các A, hoặc B hoặc C vào cuối chuỗi.
Nếu String là DAAAAABCBBBCCABCABC, nếu tôi sử dụng các biểu thức trên, nó sẽ trở lại "D", thay vì "DAAAAABCBBBCC"
Có cách nào tốt hơn để làm điều này? Cảm ơn.
Đáng nói rằng cả hai thông số cho phép giải thích expresion như một biểu thức chính quy mở rộng. Tôi đã thấy '-E' được Mac sử dụng (Darwin) và' -r' bởi các bản phân phối Linux khác. – LopSae
'-E' là một tùy chọn không có giấy tờ để tương thích với BSD sed. Bạn gần như chắc chắn sẽ sử dụng '-r'. '-E' sẽ thất bại trên phiên bản busybox của sed. – Six