Удалить подстроку имени файла [закрыто]

-2
06.10.2016, 00:33
2 ответа

Запустите это. % заставляет bash удалить совпадение подстановки в обратном порядке.

for F in *.csv.new; do
  touch ${F%.csv.new}.err
done

Если у вас есть файлы

file1_test.csv.new
file2_test.csv.new

, вы получите

file1_test.err
file2_test.err
1
28.01.2020, 05:16

basename - это легкий инструмент, позволяющий делать то, что вы просили, например

$ basename file1_test.csv.new .csv.new
file1_test

и, следовательно,

var=$(basename file1_test.csv.new).err

, где var будет содержать file1_test.err по желанию.

1
28.01.2020, 05:16

Теги

Похожие вопросы