thay thế chuỗi: tất cả các lần xuất hiện


13

Một câu hỏi đơn giản, nhưng tôi không thể tìm thấy câu trả lời. tài liệu zsh áp đảo tôi :-(

function z ()
{
  echo ${1:s/the/THE}
}

$ z thethethe
THEthethe

...

Làm thế nào tôi có thể thay thế tất cả 'cái' bằng 'THE', không chỉ là lần xuất hiện đầu tiên? Với zsh, đó là những thứ dễ nhất dường như là khó tìm ví dụ nhất.

Câu trả lời:




3

Ở đó, nó phải đơn giản:

echo ${1//the/THE}

... dấu gạch chéo kép thực hiện điều đó và bạn không thể đánh lừa bằng ": s"

BTW, tôi chắc chắn muốn cảm ơn các trang web 'StackExchange' đã tồn tại. Trong tất cả hàng trăm địa điểm người ta có thể đặt câu hỏi, đây là những câu hỏi hay nhất - không chỉ luôn luôn có câu trả lời, mà những câu trả lời đó luôn có chất lượng cao nhất.


1

// hoạt động hoàn hảo nếu bạn chỉ cố gắng thay thế một từ cụ thể cho tất cả các chữ hoa trong khi phần còn lại của từ đó không bị ảnh hưởng. Nếu bạn đang cố gắng chuyển đổi mọi thứ thành chữ hoa, bạn có thể sử dụng ": u" trên biến

SOME_ENV_VALUE='thethethe'
echo $SOME_ENV_VALUE:u // outputs: THETHETHE

Bạn có thể xác minh những sửa đổi nào bạn có sẵn trong hướng dẫn thay thế và mở rộng zsh

man zshexpn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.