![IFS를 사용하여 텍스트 파일에서 여러 배열을 만드는 방법은 무엇입니까?](https://linux55.com/image/175361/IFS%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%97%AC%EB%9F%AC%20%EB%B0%B0%EC%97%B4%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
텍스트 파일이 있다고 가정 해 보겠습니다.filename.txt
cat filename.txt
abc#123
def#456
이제 두 개의 배열을 생성하는 방식으로 IFS를 사용하고 싶습니다. 예를 들면 다음과 같습니다.
source=(abc def)
dest=(123 456)
두 개의 별도 배열을 만드는 논리는 무엇입니까?
답변1
while
입력 파일을 / read
루프 로 리디렉션 하고 IFS
값을 로 설정하여 #
줄 내용을 분할 할 수 있습니다. 모든 bash
/ ksh
또는 zsh
쉘에서 작동해야 합니다.
while IFS=# read -r s d; do
source+=( "$s" )
dest+=( "$d" )
done < filename.txt