추가 출력 없이 날짜 및 시계 형식이 아닌 Unix epoch 초 단위로 16진수 또는 10진수 형식으로 파일의 crtime을 얻는 방법을 찾고 있습니다.
이 명령은 추가합니다추가 텍스트출력 상단에 있는 내용(예: "debugfs 1.42.12 (2014년 8월 29일)")은 grep, sed 등을 사용하여 제거할 수 없습니다.
debugfs -R 'stat <7473635>' /dev/sda7 | grep ctime
이 명령은개정하다UNIX epoch 초 단위의 시간입니다.
date -r default.txt +%s
또한 내가 본 다른 모든 게시물에서는 UNIX 시대 시간이 아닌 날짜 및 시계로 파일의 crtime을 얻습니다. 요약하자면, Unix epoch 초 단위로 ext4 fs에서 파일 생성 시간만 얻을 수 있는 방법은 무엇입니까?
답변1
grep
PCRE( -P
)와 함께 사용하여 필요한 부분을 추출하고 입력으로 사용할 수 있습니다 date
.
date --date="$(sudo debugfs .... |& grep -Po '^crtime.*-\s\K.*$')" '+%s'
또는
date --date="$(sudo debugfs .... 2>/dev/null | grep -Po '^crtime.*-\s\K.*$')" '+%s'
예를 들어:
$ date --date="$(sudo debugfs -R 'stat <677051>' /dev/sda3 |& grep -Po '^crtime.*-\s\K.*$')" '+%s'
1442488264
다음을 사용할 수도 있습니다 sed
.
date --date="$(sudo debugfs .... |& sed -n 's/^crtime.*- \(.*\)$/\1/p')" '+%s'
또는
date --date="$(sudo debugfs .... 2>/dev/null | sed -n 's/^crtime.*- \(.*\)$/\1/p')" '+%s'
예를 들어:
$ date --date="$(sudo debugfs -R 'stat <677051>' /dev/sda3 |& sed -n 's/^crtime.*- \(.*\)$/\1/p')" '+%s'
1442488264