Awk 결과가 렌더링되지 않음

Awk 결과가 렌더링되지 않음

내 목표는 이번 달에 생성된 파일을 디렉터리에 저장하는 것입니다.

명령은 정확하지만 결과가 렌더링되지 않는 것 같습니다.

Date=`date '+%b'`

echo $Date
Oct

ls -l | awk -v d="$Date" '/d/ {print $NF}'

답변1

다음과 같은 방법으로 사용해야 합니다.

ls -l | awk -v d="$Date" '$0 ~ d {print $NF}'

설명은여기

find하지만 스크립트에 사용하는 것이 더 나을 수도 있습니다 .

find . -maxdepth 1 -type f -daystart -ctime -`date "+%d"`

awk다음 대신 클래식이 있는 경우 gawk:

find * -prune -type f -cmin -`date '+%d %H %M' | awk '{print ($1*24+$2)*60+$3}'`

답변2

여기서 문제는 패턴 내부가 해당 이름의 변수를 나타내기 위한 것임을 awk알 수 없다는 것 입니다. 는 리터럴과 일치하려고 합니다 . 대신 매개변수 확장을 사용할 수 있습니다.dawkd

ls -l | awk "/$Date/ {print \$NF}"

즉, 주목해야 할 두 가지 사항은 다음과 같습니다.

관련 정보