[완료] bash script for - in 구문에서

auditory의 이미지

확장자가 .txt 인 파일에 대해서
원하는 동작을 실행하는 스크립트를 만들려고 합니다.

#!/bin/bash
for files in `ls -lb *.txt`; do
   # some_actions 1
   # some_actions 2
end

이런식으로 생각했는데, 파일이름에 공백이 들어가면
for 구문에서 나눠서 처리가 되더군요..

예를 들어 파일이름이 New File.txt 이면
New가 한번 처리되고, File.txt가 다시 처리됩니다.

원하는 방식으로 동작하려면 어떻게 해야할까요?

find로 찾아도 좋겠는데, exec 옵션에 넣기에는
action이 좀 복잡한것 같고, 그렇다고 별도의 스크립트로 만들기도 좀 번거로운 상황입니다.

rapzzard의 이미지

export IFS=""

for files in `ls *.txt`; do
echo $files
done

auditory의 이미지

잘해결했습니다.

ganadist의 이미지

그냥 다음과 같이 하여도 됩니다.

for FILE in *.txt
do
     do someting with $FILE
done

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러