adsense_in_article_test


[bash: sed] 행 맨 앞에 있는 공백 제거 리눅스 bash script

간단한 내용이지만 의외로 사용할 일이 많아서 여기에 정리해 두기로.

출력 결과의 앞쪽에 공백이 여러칸 있는 경우, sed의 문자열 대체 기능을 이용해서 제거할 수 있다. 아래의 예시를 보자.

# 기본 예시: sed에서 문자열 abc를 123으로 대체
echo "abcd" | sed 's/abc/123/'
123d

# test1.txt 파일의 내용 출력
cat test.txt
  abc
  def
  ghi

위의 경우 맨 앞의 공백이 동일하게 2칸씩이다. 이런 경우는 아래와 같이 제거해 주면 되겠다. 정규표현식(regular expression, regex)에서 행 맨처음을 나타내는 "^" 기호를 사용한다.

# test1.txt 출력, 각 행 앞쪽의 공백 2칸 제거
cat test1.txt | sed 's/^  //'  
abc
def
ghi

행 앞의 공백 칸수가 일정하지 않은 경우에는 아래와 같이 제거해 주면 된다. 개수가 불분명하므로 sed에서 문자열 대체를 지정할 때 "*" 기호를 사용한다.

# test2.txt 파일의 내용 출력
cat test2.txt
 123
   456
   789
  abc
 
# test2.txt 출력, 각 행 앞쪽의 공백 제거
cat test2.txt | sed 's/^ *//'
123
456
789
abc

sed 명령에 대한 다른 게시물들은 여기로



덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

49756
4475
2082187

2019 대표이글루_IT

Google Analytics