리눅스 콘솔에서 명령을 이것저것 치다 보면 방금 막 실행한 명령의 마지막 인자를 대상으로 다음 명령을 실행할 때가 많습니다.
예를 들어,
- raw.txt 파일의 이름을 train.txt로 바꾸고,
- train.txt 파일의 내용 중 "하늘"이 포함된 줄만 "sentences_with_sky_ko_KR.txt"로 옮기고,
- sentences_with_sky_ko_KR.txt의 내용을 cat으로 출력
하는 단계를 가정해보겠습니다. 일반적인 방법으로는,
$ mv raw.txt train.txt
$ grep "하늘" train.txt > sentences_with_sky_ko_KR.txt
$ cat sentences_with_sky_ko_KR.txt
이렇게 합니다. Tab 키를 이용해서 자동 완성해가면서 하면 상대적으로 쉽지만, 이미 디렉터리에 비슷한 이름을 가진 파일들이 많다면 더덕더덕 걸리죠.
이럴 때 직전 명령의 마지막 인자를 나타내는 !$ 를 사용하면 편리합니다. 위의 명령은,
$ mv raw.txt train.txt
$ grep "하늘" !$ > sentences_with_sky_ko_KR.txt
$ cat !$
이렇게 바꿀 수 있습니다. Shell의 종류에 따라 !$이 그대로 출력되기도 하고, 실제값으로 치환돼서 보이기도 하지만 동작은 같습니다.
아주 작은 팁이지만 생각보다 콘솔 환경에서 쓰임이 많기 때문에 기억해 두셨다가 한번씩 써보시길 추천드립니다.
'Linux' 카테고리의 다른 글
디렉터리 구조를 확인하고 싶을 때 - tree (0) | 2020.05.23 |
---|---|
내 컴퓨터와 서버 디렉터리 동기화 - rsync (0) | 2020.05.02 |
특정 포트를 잡고 있는 프로세스 알아내기 (0) | 2020.04.29 |
텍스트 파일의 특정 줄 주변을 보고 싶을 때 : head & tail (0) | 2020.04.28 |
네트워크를 통해 파일을 빠르게 복사하기: nc 명령어 (3) | 2020.04.26 |