[TIL] Bash에서 IFS의 의미

P Yun·2023년 1월 3일
0

Bash

목록 보기
1/1

IFS( Internal Field Separator )

IFS는 Bash의 내부 변수이다.

Default 값은 공백문자(space, tab, new line)이다.

IFS 변수를 다음과 같이 활용 가능하다.

#!/bin/bash
# $IFS 는 공백문자를 다른 문자들과 다르게 처리합니다.

output_args_one_per_line()
{
  for arg
  do echo "[$arg]"
  done
}

echo; echo "IFS=\" \""
echo "-------"

IFS=" "
var=" a  b c   "
output_args_one_per_line $var  # output_args_one_per_line `echo " a  b c   "`
#
# [a]
# [b]
# [c]

echo; echo "IFS=:"
echo "-----"

IFS=:
var=":a::b:c:::"               # 위와 같지만 ":" 를 " "로 바꿔줍니다.
output_args_one_per_line $var
#
# []
# [a]
# []
# [b]
# [c]
# []
# []
# []

# awk 의 "FS" 필드 구분자도 위와 같은 동작을 합니다.

# Thank you, Stephane Chazelas.

echo

exit 0

출처 : http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/internalvariables.html

profile
Record the facts, analyze and present.

0개의 댓글