2010-05-04 37 views
7

Tôi có một số tập tin trong cùng một thư mục (trong UNIX hệ thống tập tin) mà trông giống như:Nhận tên file trước khi mở rộng

a.txt.name 
b.xml.name 
c.properties.name 

a.txt.name2 
b.xml.name2 
c.properties.name2 

Làm thế nào để tôi có được chuỗi trước khi name hoặc name2 phần sử dụng một số lệnh shell?

tức là. phần a.txt, b.xml, c.properties?

Trả lời

9
$ basename a.txt.name .name 
a.txt 
+0

đẹp suffix Tùy chọn. Cảm ơn! –

4
$ file="a.txt.name" 
$ file="${file%.*}" 
$ echo "$file" 
a.txt 
2

Nếu quy ước đặt tên luôn là foo.bar.other, thì đây là đơn giản đủ:

ls * | cut -d. -f1,2 
Các vấn đề liên quan