Điểm:0

bí danh không hoạt động như mong đợi

lá cờ ph

tôi đang cố gắng để có được loại tập tin sử dụng bí danh. Tôi đang dùng:

alias file-types="find . -type f | perl -ne 'in $1 if m/\.([^.\/]+)$/' | sort -u"

Tuy nhiên, nó không hoạt động:

Khi tôi gõ lệnh trong thiết bị đầu cuối, nó sẽ hiển thị (chính xác là những gì tôi muốn):

azw
azw3
bz2
chm
epub
pdf

nhưng khi tôi sử dụng bí danh, nó sẽ hiển thị một cái gì đó như:

./x.epub
./y.pdf
./z.pdf
.....

Tôi có thể làm gì để biến lệnh này thành bí danh.

24601 avatar
lá cờ in
Tài liệu tham khảo của bạn là từ SO. Tại sao không đặt câu hỏi ở đó? Các câu hỏi lập trình chung thường được xử lý tốt ở đó và trừ khi Ubuntu chỉ định một tài nguyên tốt hơn để sử dụng.
lá cờ cn
Bit perl có thể ngắn hơn (có lẽ đơn giản hơn?) -- `perl -ne 's/.+\.// && print'`
Điểm:3
lá cờ hr

Đó là vì dấu ngoặc kép bên ngoài cho phép $1 được Shell đánh giá khi bí danh được xác định, vì vậy in $1 trở nên đơn giản in :

$ alias file-types="find . -type f | perl -ne 'in $1 if m/\.([^.\/]+)$/' | sort -u"
$ bí danh loại tệp
alias file-types='find . -loại f | perl -ne '\''print if m/\.([^.\/]+)$/'\'' | sắp xếp -u'

Có lẽ cách đơn giản nhất để sửa lỗi trích dẫn là dấu gạch chéo ngược-thoát khỏi $:

in \$1 nếu m/\.([^.\/]+)$/

Tuy vậy Tôi khuyên bạn nên sử dụng hàm shell thay cho bí danh cho các trường hợp như thế này - xem ví dụ Trong Bash, khi nào đặt bí danh, khi nào viết script và khi nào viết hàm?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.