다음 명령이 있다고 가정하십시오. 경로가 포함 된 내 드라이브에서 수정 된 마지막 20 개 파일 목록을 표시하도록 설정되어 있습니다.
find -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | head -20
명령은 잘 작동하지만 날짜 및 시간 형식에는 밀리 초도 표시하므로 정보가 너무 많습니다. 내 질문은 이것을 제거하는 방법이었습니다. 또한 경로가 왼쪽에 표시되고 날짜가 오른쪽에 표시되도록 인쇄 위치를 어떻게 변경할 수 있습니까?
다음과 같이 할 수 있습니다.
find -type f -printf '%TY-%Tm-%Td %.8TT %p\n' | sort -r | sed -r 's/(^[^ ]+ [^ ]+) (.+)/\2 \1/' | head -20
퍼팅 .8
사이 %
및 TT
필드 수정한다는 것은 8 개 문자로 제한합니다 ( hh:mm:ss
). sed
정규식 라인의 단부 (하나 개의 공간 사이에 비 공백 문자 세트로) 라인의 첫 번째 부분을 이동시킨다. 시간이 sort
명령 줄의 시작 부분에 있어야합니다 .
경고 : 파일 이름 뒤에 날짜를 입력하면 공백과 숫자가 포함 된 파일 이름이 표시되는 경우 혼동이 발생할 수 있습니다. 그러나 다른 스크립트 나 프로그램에 입력하기보다는 사람으로보기 위해서는이 출력이 괜찮습니다.
그렇지 않으면 파일 이름 앞에 시간을 두려면 :
find -type f -printf '%TY-%Tm-%Td %.8TT %p\n' | sort -r | head -20
편집 : sed
@steeldriver의 주석에 따라 분수 초를 트리밍하는 데 필요하지 않습니다. 이것은 GNU 확장 일 수 있지만 -printf
어쨌든 POSIX로 보이지 않습니다. 또한 정렬 버그를 수정했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다