반응형
셸 명령 출력의 첫 줄을 가져옵니다.
버전 번호를 읽는 동안vim
무시해야 할 추가 행이 많이 있습니다.나는 의 매뉴얼을 읽으려고 했다.head
다음 명령을 시도했습니다.
vim --version | head -n 1
이것이 올바른 접근법인지 알고 싶습니다.
네, 이것은 명령어 출력의 첫 번째 행을 얻는 방법 중 하나입니다.
명령어가 캡처하는 표준 에러에 동일한 방법으로 출력하는 경우 명령어의 표준 에러를 표준 출력 스트림으로 리다이렉트해야 합니다.
utility 2>&1 | head -n 1
첫 번째 줄을 캡처하는 방법은 여러 가지가 있습니다.sed 1q
(첫 번째 줄 뒤에 표시),sed -n 1p
(첫줄만 인쇄하고 모두 읽는다),awk 'FNR == 1'
(첫줄만 인쇄하고 다시 모든 것을 읽습니다)
다음을 사용합니다.
awk 'FNR <= 1' file_*.txt
@Kusalananda가 지적한 바와 같이 명령줄의 첫 번째 줄을 캡처하는 방법은 여러 가지가 있습니다.head -n 1
와일드카드를 사용할 경우 추가 정보가 출력되기 때문에 최적의 옵션이 아닐 수 있습니다.변화하는'FNR == i'
로.'FNR <= i'
첫 번째 i라인을 얻을 수 있습니다.
예를 들어 file_1.txt라는 이름의 파일이 n개 있는 경우 ... file_n.txt:
awk 'FNR <= 1' file_*.txt
hello
...
bye
단,head
와일드카드는 파일 이름을 인쇄합니다.
head -1 file_*.txt
==> file_1.csv <==
hello
...
==> file_n.csv <==
bye
언급URL : https://stackoverflow.com/questions/46021955/get-first-line-of-a-shell-commands-output
반응형
'sourcecode' 카테고리의 다른 글
Windows(v10)에서 Android Studio를 완전히 제거하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
---|---|
UIDevice uniqueIdentifier가 권장되지 않음 - 이제 어떻게 해야 합니까? (0) | 2023.04.13 |
Git에서 SHA 해시에 의한 커밋으로 되돌리시겠습니까? (0) | 2023.04.13 |
Linux Bash에서 어레이에 LS를 할당하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
iOS 8.0 이전 버전에서는 자동 우선 레이아웃 폭을 사용할 수 없습니다. (0) | 2023.04.13 |