Batch TRIM (RENAME) một từ khóa cụ thể từ bộ tệp


0

Tôi có một vài tệp là - "a.mov-, tệp đính kèm", "b.mov-, tệp đính kèm", "c.mov-, tệp đính kèm", v.v. Tôi muốn cắt từ khóa: "-, tập tin đính kèm" từ tất cả các tập tin trong thư mục đó.

Vui lòng gợi ý cho tôi một cách tiếp cận mà kịch bản sẽ phù hợp nhất cho việc này - AppleScript, Shell, Python, v.v. (Tôi là một người không viết kịch bản).

Lưu ý: Tôi đang sử dụng Mac OS-Mavericks [Terminal].


Bạn nên tìm câu trả lời ở đây cho OSX: superuser.com/questions/152627/ trộm
pataluc

Câu trả lời:


0

Chỉ sử dụng vỏ:

for f in *", attachment"; do
    mv "$f" "${f%, attachment}"
done

Hình thức ${f%something} trả về giá trị của biến f với văn bản theo sau % loại bỏ từ cuối giá trị.

$ var="hello world"
$ echo "${var%orld}"
hello w

Nếu bạn đặt một mẫu hình cầu trong đó, trận đấu ngắn nhất sẽ bị xóa ${var%pattern} và trận đấu dài nhất với ${var%%pattern}

$ echo "${var%l*}"
hello wor
$ echo "${var%%l*}"
he

Nếu mẫu không khớp với cuối chuỗi, không có gì bị xóa

$ echo "${var%foo}"
hello world

Xem http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion


Cảm ơn nhưng không thành công: bash-3.2 $ cho f trong * ", tệp đính kèm"; làm & gt; mv "$ f" "$ {f%, tệp đính kèm}" & gt; xong mv: đổi tên *, đính kèm vào *: Không có tệp hoặc thư mục như vậy
aksani56

Điều này đã làm việc: cho f trong * ", tệp đính kèm.mov"; làm mv "$ f" "$ {f%, tệp đính kèm.mov}"; làm xong
aksani56

0

bạn có thể dùng rename lệnh nếu bạn đang sử dụng linux:

rename 's/-, attachment//' *attachment

với GUI, có rất nhiều công cụ như ANT Renamer chẳng hạn.


Bất kỳ ý tưởng làm thế nào để làm cho nó hoạt động trên MacOS?
aksani56

bạn đã đọc câu hỏi khác về chủ đề này chưa? brew install rename ?
pataluc
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.