![명령의 출력을 가져와서 스크립트를 사용하여 파일 이름으로 만들어야 합니다.](https://linux55.com/image/79614/%EB%AA%85%EB%A0%B9%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%99%80%EC%84%9C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%EB%A7%8C%EB%93%A4%EC%96%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 Linux 시스템을 SCCM 보고서에 통합하는 방법을 연구 중입니다. 우리가 원하는 것 중 하나는 머신의 스왑 크기를 확인하는 것입니다.
나는 다음을 실행하여 내 컴퓨터에서 스왑 금액을 얻을 수 있다는 것을 알고 있습니다.
cat /proc/meminfo | grep SwapTotal
불행하게도 SCCM에서는 이러한 명령을 실행할 수 없지만 SCCM 관리자는 폴더에 파일을 만들 수 있다면 특별한 결말이 있는 한 해당 파일을 보고서로 읽을 수 있다고 말했습니다.
해당 명령에서 정보를 가져와 파일 이름으로 파이프하고 싶습니다. 따라서 스왑이 6000이면 파일 이름은 6000.swap이 됩니다.
누구든지 이 작업을 수행하는 방법을 찾을 수 있는 방향을 알려줄 수 있습니까?
감사해요!
답변1
중요한 것이 생성된 파일 이름뿐인 경우:
rm -f *.swap
touch "$(awk '/SwapTotal/ { print $2 }' /proc/meminfo).swap"
SwapTotal
파일의 행이 필요한 경우 :
rm -f *.swap
swap="$(awk '/SwapTotal/ { print $2 }' /proc/meminfo)"
grep SwapTotal /proc/meminfo > "${swap}.swap"
또는 명령으로(감사합니다아처마르힌트):
rm -f *.swap
awk '/SwapTotal/ { print $0 > $2 ".swap" ;}' /proc/meminfo
답변2
간단한 일을 할 수 있습니다
touch /path/to/file/$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}').swap
답변3
다음을 수행할 수 있습니다.
touch `awk '/SwapTotal/ { print $2 }' /proc/meminfo`.swap