명령을 실행할 때 출력의 처음 5줄을 파일로 리디렉션하는 방법을 알고 있습니다. 출력에서 특정 정보만 리디렉션하는 방법을 알고 싶습니다.
예를 들어, "free -m" 명령을 실행하고 출력의 "used" 열을 텍스트 파일로 리디렉션하고 싶습니다.
전체 출력을 수동으로 편집하지 않고 어떻게 이 작업을 수행할 수 있습니까?
답변1
더 우아한 답변이 있다고 확신하지만 다음과 같이 작동합니다.
free -m | awk '{if (NR == 1) {print $2} else {print $3}}' > file.out
이 명령은 표준 출력을 가져 free -m
와서 으로 보냅니다 awk
. 첫 번째 행의 경우 두 번째 열(여기서는 관심 있는 열의 헤더)을 인쇄하고, 그렇지 않으면 세 번째 열( free -m
다음 행에 대한 추가 열이 있음)을 인쇄합니다.