"08 11"만 표시되도록 "Thu Jun 2 08:11:53 PDT 2016"의 문자를 잘라내는 방법
답변1
cut -d ' ' -f 4 | cut -d : -f 1,2 | tr : ' '
또는:
awk -F '[ :]' '{print $4, $5}'
또는:
sed 's/.* \(..\):\(..\):.*/\1 \2/'
POSIX 쉘을 사용하여 변수에 넣으면 다음과 같이 할 수 있습니다.
string='Thu Jun 2 08:11:53 PDT 2016'
IFS=': ' # split on colon and space
set -f # disable glob
set -- $string # use the split+glob operator (unquoted variable)
h_m="$4 $5"
답변2
명령의 간단한 출력인 경우 일부 매개변수를 사용하여 실행하여 원하는 것을 정확하게 출력할 date
수 있습니다 .date
date '+%H %M'
파일이나 변수인 경우 다른 사람들이 언급 cat
한 대로 또는 를 사용할 echo
수 있습니다.cut
awk
sed
답변3
파일이라면 사용하세요
# cat file
Thu Jun 2 08:11:53 PDT 2016
# cat file | awk '{print $4}' | awk -F : '{print $1 " " $2}'
08 11
답변4
이것이 프로그램과 유사한 프로그램의 출력이라고 가정하므로 date
문자열의 너비는 동일하게 유지됩니다.
cut --output-delimiter=" " -c 11-12,14-15