아래와 같이 스크립트에서 파일 이름의 끝 부분을 수정하고 싶습니다.
#!/bin/bash
file = ...
gawk -f shc2csv.awk $1 > $file.csv
이는 $1
일반적으로 유사 shc_20210901_0002_763803214.html
하며 file
이어야 합니다 shc_20210901
.
따라서 문자열은 두 번째 문자열부터 끊어야 합니다 _
.
sed나 awk를 file
사용하여 어떻게 얻을 수 있나요 ?$1
답변1
변수의 값을 수정하기 위해 sed나 awk가 필요하지 않습니다 $1
.
#!/bin/bash
file=${1%_*} # remove the part after the last `_`
file=${file%_*} # repeat the removal to the second `_`
gawk -f shc2csv.awk "$1" > "$file".csv
변수 확장을 인용해야 합니다.