아래와 같이 세 개의 .dat 파일이 있다고 가정해 보겠습니다.
Psdm_123_20200221.dat
Psdm_20200221.dat
Psdm_acc_20200221_12345667.dat
산출
Psdm_123*.dat
Psdm_*.dat
Psdm_acc_*.dat
답변1
다음 sed
명령으로 작업을 수행해야 합니다.
sed 's/20[0-9]\{2\}\(0[1-9]\|1[012]\)\([012][0-9]\|3[01]\)[^.]*/*/'
또는 옵션을 sed
이해 했다면 대부분의 백슬래시를 생략할 수 있습니다.-r
-E
sed -r 's/20[0-9]{2}(0[1-9]|1[012])([012][0-9]|3[01])[^.]*/*/'
이는 일부 온전성 검사(2000년에서 2099년 사이의 연도, 01 - 12 범위의 월, 01 - 31 범위의 일)와 함께 "YYYYMMDD" 패턴을 찾아서 교체합니다..
날짜 뒤의 파일 이름에 리터럴이 하나만 있는 경우 그 이후의 모든 항목(파일 확장자를 포함하지 않음). 이는 교체할 표현식에서 "0번 이상을 제외한 모든 것"( )을 허용하여 .
수행 됩니다.[^.]*