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}'