cat의 출력을 파이프로 절단하는 방법

cat의 출력을 파이프로 절단하는 방법

Bash 스크립팅을 cat /proc/uptime시작하고 싶습니다 .cut -f1

나는 노력했다;

cat /proc/uptime | cut -f1
cat /proc/uptime > cut -f1
cut -f1 < cat /proc/uptime

이것을 달성하려면 echo나 다른 것을 사용해야 합니까?

답변1

기본 필드 구분 기호 cut는 탭입니다. 파일에 공백이 있으므로 구분 기호를 지정해야 합니다.

-d ' '

cat그리고 실제로 파이프를 전혀 사용할 필요가 없습니다 . 파일을 직접 읽어보세요.

cut -f 1 -d ' ' /proc/uptime

답변2

cat /proc/uptime | cut -f1 -d' '

옳은

< /proc/uptime  cut -f1 -d' '

옳은그리고 파이프를 생성하지 않고 직접 읽기 때문에 더 효율적입니다 /proc/uptime(여기서는 중요하지 않습니다).

일반적으로 포럼에서는 두 번째 형식을 사용하는 것이 좋습니다. 그렇지 않으면 "고양이는 쓸모가 없습니다"라고 외친 후 순수주의자를 만나게 될 것입니다.


cut -f1 -d' ' < cat /proc/uptime

잘못된. 그것은 동일합니다

cut -f1 -d' ' /proc/uptime < cat

Bash를 사용하는 경우 다음을 사용할 수도 있습니다 <().

cut -f1 -d' ' < <(cat /proc/uptime)

그러면 읽기용 익명의 명명된 파이프가 생성되고 출력이 cat /proc/uptime파이프로 연결됩니다. 하지만 다시 말하지만 고양이를 사용하는 것은 쓸모가 없습니다.

이 외에도 cut파일 매개변수도 사용할 수 있으므로 모든 리디렉션 버전은 다음 사항 없이도 작동합니다 <(효율성 측면에서는 중요하지 않음).

cut -f1 -d' '/proc/uptime

또는 <() 파이프를 사용하십시오.

cut -f1 -d' ' <(cat /proc/uptime)

답변3

기본적으로 절단 구분 기호는 TAB이며 공백으로 변경할 수 있습니다.

cat /proc/uptime | cut -f1 -d " " 

이 경우에는 awk를 사용하는 것을 선호합니다.

cat /proc/uptime | awk '{print$1}' 

관련 정보