Tôi muốn biết nếu có cách nào để thực hiện thay thế regexp nhiều lần trong bash với $ {string // substring/replacement} hoặc, có thể, giải pháp nào tốt hơn tồn tại.nhiều thay thế regex trên biến trong bash?
Tôi có một tập lệnh để gửi nội dung cập nhật tới trạng thái và friendika với curl. Ví dụ: Tôi ký thỉnh nguyện thư trực tuyến và được cung cấp để tweet chúng, nhưng muốn gửi đến identica. Tôi mệt mỏi vì dán đồ và phải sửa trong terminal để trốn thoát @ và #,! và? Tôi muốn regexp thay thế chúng trong kịch bản của tôi để Automagically thay đổi
@repbunghole and @SenatorArsehat Stop farking around with #someship! Do you want me to come smack you? | http://someshort.url
để
\@repbunghole \@SenatorArsehat Stop farking around with \#someship\! Do you want me to come smack you\? \| http://someshort.url
Tôi không có mạnh sed hay awk fu, nhưng hãy tưởng tượng họ có thể cung cấp các giải pháp, và tôi don 't biết làm thế nào để sử dụng sed mà không cần viết biến vào một tập tin, đọc các tập tin và hành động trên nó, sau đó thiết lập var với var = $ (cat file). Vâng. Tôi khá mới ở công cụ này. Tôi không tìm đủ dữ liệu với $ {string // substring/replacement /} ở trên cho nhiều thay thế. Chạy X lần để thoát khỏi X nhân vật khác nhau có vẻ không hiệu quả.
như
read -p "Enter a string: " a
b=${a//\@/\\\@}
c=${b//\#/\\\#}
d=${c//\!/\\\!}
e=${d//\?/\\\?}
f=${e//\"/\\\"}
g=${f//\'/\\\'}
vv, vv làm việc trong khi chờ đợi, nhưng nó xấu xí ...