Tại sao đổi tên lệnh bị thiếu trong macOS?


2

Tôi thường đổi tên tập tin và thư mục với mv chỉ huy. Tôi đang đọc một cuốn sách về bash shell có đề cập đến rename chỉ huy. Khi tôi thực hiện man rename một trang người đàn ông đã được hiển thị. Tuy nhiên, khi tôi vào rename trên bash shell, nó báo cáo:

-bash: rename: command not found

Tôi đã làm một số nghiên cứu và phát hiện ra rằng bạn có thể cài đặt rename lệnh với Homebrew.

  • Có lý do chính đáng nào để không cài đặt nó với Homebrew không?

  • Bạn có thể làm gì với rename lệnh mà bạn không thể làm với mv chỉ huy?

Tôi cũng tò mò muốn biết liệu có một lời giải thích cho lý do tại sao rename lệnh không tồn tại ở nơi đầu tiên. Và tại sao có một trang man cho một lệnh không tồn tại?

CẬP NHẬT: Dường như với rename lệnh bạn có thể thực hiện regexes như vậy:

rename 's/(.*)(.*)/new$1$2/' *

Với mv, điều này dường như không thể.


Sau khi tìm kiếm thêm, tôi phát hiện ra rằng lý do có một trang man là vì nó đang ghi lại một cuộc gọi hệ thống BSD chứ không phải lệnh. Câu hỏi của tôi hỏi về việc cài đặt tiện ích này với homebrew, vì vậy nó có thể áp dụng cho mac.
StevieD

Câu trả lời:


4

Trong cài đặt mặc định của macOS, đổi tên trang man có sẵn trong phần 2. Như bạn có thể nhận thấy từ trang man, đổi tên không phải là lệnh mà là lệnh gọi hệ thống BSD.

Công thức Homebrew có tên là đổi tên là tập lệnh Perl. Bạn sẽ ổn với việc cài đặt nó. Trong thực tế, nó có thể cung cấp cho bạn sự linh hoạt hơn nhiều so với lệnh mv đơn giản.

Sau khi bạn đã cài đặt đổi tên tiện ích qua Homebrew, hãy chạy man rename sẽ hiển thị trang man cho tiện ích đã cài đặt chứ không phải cuộc gọi hệ thống BSD.

Tôi cũng tò mò muốn biết liệu có một lời giải thích được biết về lý do tại sao lệnh không tồn tại ở nơi đầu tiên.

đổi tên không phải là một lệnh Unix tiêu chuẩn.

Và tại sao có một trang man cho một lệnh không tồn tại?

Như đã đề cập ở trên, trang man hiện tại đề cập đến cuộc gọi hệ thống cùng tên.


Chỉ cần thấy câu trả lời của bạn sau khi cài đặt nó với homebrew. Hiện nay man rename mang đến tài liệu cho "Tài liệu Perl do người dùng đóng góp" cho tiện ích.
StevieD
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.