간만에 파일명중에 특정 문자열 이후의 숫자를 추출할 이유가 생겨서 작업하다가 기록을 위해 남겨둡니다. 예전에는 awk를 사용해서 어찌어찌 했던것 같은데 스크립트도 못찾겠고 기억고 안나고 해서 sed를 조합해서 사용했습니다.
파일명이 xxx_Rseed3112_xxx.data 와 같이 존재하고 Rseed이후의 번호를 추출해서 가공할 필요가 있어서 사용하는 스크립트입니다.
for fn in $(ls *.dat)
do
#Rseed이후 문자열 추출
seed=$(sed -e 's/.*Rseed\(\)/\1/g' <<< $fn)
#원하는 문자열 다음의 _이후를 삭제
seed=$(sed -e 's/\(\)_.*/\1/g' <<< $seed)
echo $seed
done
Leave a Reply