template이라는 파일로 가득 찬 디렉토리가 있습니다.
xxx[0-9][0-9][0-9[0-9]ss(wrx-mmm).zip
zip 파일에는 파일이 포함되어 yrq000.dat
있으며 파일의 압축을 풀 때 해당 파일을 덮어쓰고 싶지 않습니다.
처리 스크립트를 작성 중이지만 일반 파일의 이름을 소스 zip과 관련된 이름으로 지정하고 다음 방법을 확인합니다.
for f in $(ls xxx*)
do
uniquename="${f%%(wrx.*zip}"
done
문자열에서 왼쪽 대괄호를 제거하는 방법을 모르겠습니다.
bash 문자열 조작이 가능합니까? 즉, 작동하지 않습니다. 제대로 작동하려면 무엇을 추가하거나 제거해야 합니까?
답변1
패턴에서 점을 제거해 보세요. 예:
for f in xxx*;
do
uniquename="${f%%(wrx*zip}";
echo "${uniquename}";
done
형식의 이름을 가진 파일을 가져와서 xxx[0-9][0-9][0-9[0-9]ss(wrx-mmm).zip
형식의 문자열로 변환합니다 xxx[0-9][0-9][0-9[0-9]ss
. 이것이 당신이 달성하고 싶은 것입니까?