У меня есть папка с несколькими разными именами файлов, каждое с общим шаблоном, например следующим:
SampleA-1.txt
SampleA-2.txt
SampleA-3.txt
SampleB-1.txt
SampleB-2.txt
Образец B-3.txt
и т. Д.
Я хочу использовать sed, чтобы получить только уникальное имя файла перед частью "-number.txt". Другими словами, я хочу следующий результат:
SampleA
SampleB
SampleC
и т.д.
И я хочу присвоить вышеупомянутое в переменной (например, SAMPLE) внутри цикла for. Итак, у меня есть следующее:
for FILE in $HOME_PATH/*.txt
do
SAMPLE=`basename $FILE | sed s/\.1.txt//`
, который делает именно то, что я хочу, но, очевидно, только когда у меня есть файлы Sample * -1.txt, а не -2 или -3s внутри $ HOME_PATH. По сути, я хочу удалить все после "-" и назначить уникальные имена в переменной. Можете ли вы предложить модификации моего седа? Я уверен, что это легко сделать, но я попробовал несколько вариантов безуспешно, поэтому я упускаю что-то очевидное здесь.
Заранее спасибо за усилия!