실행 가능한 스크립트 가 있고 hdsentinel
입력할 때
./hdsentinel
터미널에서 하드 드라이브 상태에 대한 정보를 얻을 수 있습니다.
내가 입력할 때:
./hdsentinel >hd.log
파일에 있는 모든 정보를 얻었습니다 hd.log
.
사이트에 /home/user/Desktop
예제 파일이 있습니다. hd.log 위의 파일명에 파일 예시의 세 번째 줄(세 번째 줄은 192.168.1.1)을 입력하고 싶은데 결과는 hd192.168.1.1.log
. 어떻게 해야 하나요?
답변1
이것을 시도해 보세요. 여기서는 sed를 사용하여 파일 예제의 n번째(세 번째) 줄을 인쇄하고 $(sed '3q;d' <example-file-path>)
출력 파일 이름에 표현식 결과를 사용합니다.
./hdsentinel > "hd$(sed '3q;d' /home/user/Desktop/example).log"
설명하다:
sed 'NUMq;d' file
여기서 NUM은 인쇄할 줄 번호입니다. 예를 들어 sed '3q;d' file은 파일의 세 번째 줄을 인쇄합니다.
NUMq
줄 번호가 이면 즉시 종료됩니다 NUM
.
d
인쇄하는 대신 줄을 삭제합니다.
따라서 q를 사용하면 종료 시 스크립트의 나머지 부분을 건너뛰게 되므로 NUM 줄을 제외한 모든 줄이 삭제됩니다.