У меня есть некоторые файлы в том же каталоге (в файловой системе UNIX), который похож:
a.txt.name
b.xml.name
c.properties.name
a.txt.name2
b.xml.name2
c.properties.name2
Как я получаю строку перед name
или name2
часть с помощью некоторой команды оболочки?
т.е. a.txt
, b.xml
, c.properties
часть?
$ file="a.txt.name"
$ file="${file%.*}"
$ echo "$file"
a.txt
Если соглашение об именовании всегда foo.bar.other , то это достаточно просто:
ls * | cut -d. -f1,2
Обратите внимание на функции обработки строк в bash. Эта страница должна помочь вам в большинстве случаев: