2015. 9. 3. 14:48

파일 앞에 내용 추가하기

연산자는 파일의 끝에 줄들을 추가해 줍니다. 

그럼 이미 존재하는 파일의 맨 앞에 추가(prepend)하려면 어떻게 할까요?


file=data.txt

title="***데이타 텍스트 파일의 제목 줄입니다***"


echo $title | cat - $file >$file.new

# "cat -" 은 표준출력을 $file 과 연결시켜 줍니다.

#  $title 이 "맨 앞"에 추가된 새 파일이 만들어 집니다.


"-"는 Bash 연산자가 아니고, tar나 cat 같은 몇몇 유닉스 유틸리티들이 인식해서 표준출력으로 쓰도록 해주는 

옵션임에 주의하세요.

파일명이 나와야 할 곳에 -이 나오면 표준출력으로 결과를 재지향하든지(tar cf에서 가끔 쓰죠), 

실제 파일에서 입력을 받지 않고 표준입력에서 받도록 재지향 하게 해 줍니다. 

주로 파일을 다루는 유틸리티들을 파이프에서 필터로 쓸 때 이 방법을 씁니다.