![파일 이름에서 하위 문자열 제거 [닫기]](https://linux55.com/image/95825/%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%97%90%EC%84%9C%20%ED%95%98%EC%9C%84%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EC%A0%9C%EA%B1%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
내 파일 이름의 접미사는 달라집니다 .csv.new
. 줄기를 뽑아야 해요. 예 file1_test.csv.new
. file1_test
변수를 생성하려면 트렁크를 제거해야 합니다 file1_test.err
.
답변1
basename
귀하의 요구 사항을 충족하는 가벼운 도구입니다.
$ basename file1_test.csv.new .csv.new
file1_test
그러므로
var=$(basename file1_test.csv.new).err
필요한 내용이 var
포함됩니다 .file1_test.err
답변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