Tôi đang sử dụng tìm cho một công việc và tôi nhận thấy rằng khi tôi làm điều gì đó như thế này:Tại sao sử dụng tên dirname trong lệnh tìm cho dấu chấm cho mỗi trận đấu?
find `pwd` -name "file.ext" -exec echo $(dirname {}) \;
nó sẽ cho bạn chấm duy nhất cho mỗi trận đấu. Khi bạn thay thế dirname
bằng basename
trong lệnh đó, bạn sẽ nhận được tên đầy đủ. Tôi có vặn cái gì đó ở đây hay là hành vi mong đợi này? Tôi được sử dụng để basename
cung cấp cho bạn tên của tệp (trong trường hợp này là file.ext
) và dirname
cung cấp cho bạn phần còn lại của đường dẫn.
@ Martin - Điểm tốt, đã thêm giải thích. –
Điều này đã giúp một tấn. Tôi không biết về set-x, và bối cảnh duy nhất tôi đã sử dụng basename/dirname là khi tôi đã đặt nó vào một biến. – temp2290
Bạn có thể muốn xem 'set -v' và một số tùy chọn khác của tập hợp. Chúc may mắn. –