Tôi đang in một tập lệnh shell và có một biến như sau: something-that-is-hyphenated
.vỏ tiêu đề vỏ linux
tôi cần phải sử dụng nó trong các điểm khác nhau trong kịch bản như:
something-that-is-hyphenated
, somethingthatishyphenated
, SomethingThatIsHyphenated
Tôi đã cố gắng thay đổi nó để somethingthatishyphenated
bằng cách tách ra -
sử dụng sed "s/-//g"
.
Tôi chắc chắn có một cách đơn giản hơn và cũng cần biết cách lấy phiên bản vỏ lạc đà.
Chỉnh sửa: chức năng làm việc bắt nguồn từ @ câu trả lời Michał của
function hyphenToCamel {
tr '-' '\n' | awk '{printf "%s%s", toupper(substr($0,1,1)), substr($0,2)}'
}
CAMEL=$(echo something-that-is-hyphenated | hyphenToCamel)
echo $CAMEL
Edit: Cuối cùng, một sed lót nhờ @glenn
echo a-hyphenated-string | sed -E "s/(^|-)([a-z])/\u\2/g"
Hãy xem xét điều này - http://www.linuxpronews.com/linuxpronews-55-20110315ShellScriptToConvertLowercaseToTitleCase.html – arunkumar
Có lý do nào khiến bạn không thể sử dụng cùng tên biến không? Bạn đang thêm rất nhiều sự phức tạp không cần thiết cho kịch bản của mình. –
Tôi đang xây dựng các tệp dự án titan và cần sử dụng tên dự án của tôi làm tên ứng dụng và thư mục dự án, nhưng com.domain.myprojectname làm id ứng dụng và sau đó là com.domain.myprojectname/.MyProjectNameActivity để khởi động nó vỏ adb trên thiết bị Android. –