Tôi đang cố gắng lấy hai chữ cái cuối cùng ra khỏi tên tệp có chữ hoa và nối chúng vào tên tệp theo chữ thường. Tôi expeceted lệnh:Sự khác biệt giữa sed và Mac OS X với các trình tự điều khiển chụp trên, dưới và toàn bộ
ls | sed -e "s/.*\([A-Z][A-Z]\)$/\0\/\L\1\E/"
để đạt được điều này và trên hộp Ubuntu của tôi nó làm việc tốt nhưng trên máy Mac của tôi nó chỉ đơn giản in ra một 0/LXXE/
nơi XX
là các chữ cái đúng từ chụp.
Tương đương Mac tương đương với \0
, \L
và \E
là gì?
Tôi đã có một cái nhìn xung quanh trang web và một số người đã nhận thấy rằng Mac OS X sed khác với Ubuntu sed nhưng hầu hết các chủ đề nói về yêu cầu -i
cho một phần mở rộng tập tin hoặc chuỗi rỗng (trước đây đã vấp tôi lên).
'brew cài đặt --default- tên gnu-sed' để cài đặt dưới dạng 'sed' thay vì' gsed' – TalkLittle
"Chạy Homebrew làm gốc cực kỳ nguy hiểm và không còn được hỗ trợ nữa." – arekolek
Cảm ơn @arekolek, đó là một điểm rất tốt. Tôi đã chỉnh sửa. – anubhava