저장 장치 전체에서 파일이 동일한 inode 번호를 사용하도록 하려면 어떻게 해야 합니까? 내가 생각할 수 있는 유일한 방법은 을 사용하는 것이지만 dd
, 그렇게 하려면 단지 파일을 추가하는 경우에도 전체 컨테이너를 복사해야 합니다.
대용량 파일 세트에 고정 ID 번호를 할당하고 싶습니다. 파일 내용은 확실히 변경됩니다(따라서 md5sum은 작동하지 않습니다). ID는 파일에 포함될 수 없습니다.
목표는 들어오는 각 파일에 ID, 일부 태그/설명/상태가 할당되는 소규모 문서 관리 시스템을 구축하는 것입니다.
파일에 아무것도 쓸 수 없습니다. 따라서 이러한 템플릿/제목 중 일부는 금기시됩니다.
따라서 기본적으로 모든 파일에는 다음 형식의 기록이 있어야 합니다: ID: 5683958754 날짜: xxxx-xx-xx 태그: picture, message ordoc Action: store Origin: client x 또는 web-page www.sample.com .. .
이러한 메타 정보를 모든 파일과 연결하는 최소한의 방법은 무엇입니까?
답변1
저장 장치 전체에서 파일이 동일한 inode 번호를 사용하도록 하려면 어떻게 해야 합니까?
당신은 할 수 없습니다.
한편, 이제 귀하의 요구사항을 설명하셨으니
각 파일에는 다음 형식의 기록이 있어야 합니다: ID: 5683958754 날짜: xxxx-xx-xx 태그: 그림, 메시지 ordoc 작업: 저장소 원본: 클라이언트 x 또는 웹페이지 www.sample.com ...
grep
탭으로 구분된 필드를 가져와 일반 파일을 사용 하거나 awk
일반 파일에서 선택할 수 있습니다 . 그보다 훨씬 더, 나는 적어도 제안하고 싶습니다 sqlite
. 그러나 우리는 실제로 애플리케이션 아키텍처에 들어갑니다.
나는 이런 것을 고려할 것입니다
id <tab> date-in-seconds <tab> tag1,tag2,tag <tab> action <tab> filename <tab> filepath <tab> origin
그런 다음 ID 키를 전달할 수 있습니다
id=1234
awk -F$'\t' id="$id" '$1==id {print $6}'
아니면 파일명으로
filename='rhubarb.txt'
awk -F$'\t' key="$filename" '$5==key {print $6}'
또는 날짜 범위별로도
mindate=$(date --utc --date '1 mar 2019 19:00' +%s)
awk -F$'\t' key="$mindate" '$2>key {print $6}'