Tôi muốn bỏ qua tất cả các tệp ẩn, nhưng đặc biệt là tệp .git và .svn khi tìm kiếm (và sau này thay thế) tệp, không phải tôi đã tìm ra cách cơ bản nhất để loại trừ các tệp ẩn như được mô tả trong nhiều hướng dẫn trực tuyến không hoạt động đây.Tại sao tìm thấy. -not -name ". *" không loại trừ các tệp bị ẩn?
find . -not -name ".*"
cũng sẽ in các tệp ẩn.
Các kịch bản tôi đang cố gắng để viết là
replace() {
if [ -n "$3" ]; then expr="-name \"$3\""; fi
find . -type f \($expr -not -name ".*" \) -exec echo sed -i \'s/$1/$2/g\' {} \;
unset expr
}
'tìm. -not -name ". *" 'hoạt động với tôi. – fedorqui
Sử dụng 'tìm. -not -name '. *' ', để tránh mở rộng vỏ. – Rubens
là chính xác, nó vẫn tìm thấy (không ẩn) các tập tin trong thư mục ẩn. – user1273684