Có cách nào (thích hợp hơn thông qua GUI, nhưng có thể thông qua dòng lệnh) để trích xuất tệp zip và xóa zip sau khi giải nén, tất cả chỉ trong một lệnh?
(Tôi nhớ rằng tôi đã thấy ai đó làm điều gì đó như thế này trong dòng lệnh một ngày)
Có cách nào (thích hợp hơn thông qua GUI, nhưng có thể thông qua dòng lệnh) để trích xuất tệp zip và xóa zip sau khi giải nén, tất cả chỉ trong một lệnh?
(Tôi nhớ rằng tôi đã thấy ai đó làm điều gì đó như thế này trong dòng lệnh một ngày)
Câu trả lời:
Đối với GUI tôi muốn nói cách dễ nhất là tập lệnh nautilus. Dòng chính sẽ là:
unzip "$item" && trash "$item"
Nó hoạt động trong bash / dash dễ dàng như vậy. Trong nautilus toàn bộ mọi thứ sẽ như thế này:
#!/bin/bash
# Nautilus script to unzip and then remove a zip archive.
# Nautilus script usually go in "$HOME/.gnome2/nautilus-scripts"
IFS='
'
for item in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
if [ -n "$(file -b "$item" | grep -o 'Zip')" ]; then
unzip "$item" && trash "$item"
# use trash instead of rm to move them to trash
# (trash-cli package installed)
fi
done
Bạn chỉ có thể viết một tập lệnh bash. Nó sẽ trông giống như thế này:
unzip $1 && rm $1
trong đó $ 1 là đối số có giá trị tên tệp của tệp zip của bạn. Sau đó, bí danh lệnh giải nén trong tệp ~ / .bashrc để chạy tập lệnh này. Và sau khi gõ vào terminal:
unzip test.zip
bạn sẽ nhận được:
unzip test.zip && rm test.zip
-r
cờ ở đây. Các tập tin zip không phải là thư mục nên không có gì để tái diễn.
Nó khá dễ dàng thông qua một lệnh shell:
unzip <filename>.zip && rm <filename>.zip
Có lẽ, nếu bạn đang sử dụng nautilus, bạn có thể tạo một liên quan nautilus-action
để tự động hóa lệnh thông qua lựa chọn GUI.
tar --delete-files
?