Trong Linux, đôi khi tôi đổi tên các tệp như thế này:
mv dir1/dir2/dir3/file.txt dir1/dir2/dir3/file.txt.old
Lưu ý rằng tôi muốn chỉ đổi tên tệp, không di chuyển nó sang thư mục khác.
Có lệnh nào cho phép tôi thực hiện phiên bản tốc ký của lệnh đó không? Tôi đang nghĩ một cái gì đó như:
mv dir1/dir2/dir3/file.txt file.txt.old
hoặc thậm chí có thể là một cái gì đó như (chỉ thêm vào tên):
mv dir1/dir2/dir3/file.txt {}.old
Mục tiêu của tôi là không phải xác định lại đường dẫn hoàn chỉnh.
Tôi biết những "ví dụ" mà tôi đã viết không hoạt động, nhưng đó chỉ là một ý tưởng về những gì tôi muốn thực hiện.
Tôi không muốn phải cd vào thư mục.
(cd dir1/dir2/dir3 && exec mv file.txt{,.old})
có hiệu suất tương tự như mã mà không có quy trình con, bởi vì exec
tránh fork()
ing trong khi gọi lệnh bên ngoài, do đó bạn có chính xác một ngã ba.