지식 요소의 가공과 분석, 그리고 여러가지 도구의 활용에 관한 내용

파일명의 특정 문자열 이후의 숫자를 추출해서 사용하기 (sed)

간만에 파일명중에 특정 문자열 이후의 숫자를 추출할 이유가 생겨서 작업하다가 기록을 위해 남겨둡니다. 예전에는 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


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *