현재 날짜와 파일 이름 패턴을 기반으로 파일을 식별하는 bash 스크립트

현재 날짜와 파일 이름 패턴을 기반으로 파일을 식별하는 bash 스크립트

Bash 스크립트는 현재 날짜와 파일 이름 패턴을 기반으로 파일을 식별합니다.

날짜 패턴을 포함하는 서로 다른 디렉터리에 10개의 파일이 있습니다. 이 파일들을 하나씩 선택하여 원격 사이트로 보내야 합니다.

파일 이름 지정 패턴, 구성 파일의 위치를 ​​나열하고 스크립트에서 선택하려고 하지만 운이 없습니다. 누군가 도와주세요

파일 이름 패턴 및 위치의 예.

/documents/accounts/abc_yyyy-mm-dd.txt

/문서/목록/def_yyyy-mm-dd-txt

/document/newcustomer/ghijkl_yyyy-mm-dd-txt

date=`date +%Y-%m-%d`;
config_file="/scripts/config/abc.cfg";
echo $config_file;
URL="http://localhost:9200/document-$date";

while read var value
do
    "$var"= curl -XPUT 'http://localhost:9200/documents-'$date'/document/ 
done < /path/to/abc.config

매일 이러한 파일을 선택하고 모든 파일을 사용할 수 있게 되면 컬을 사용하여 매일 원격 사이트로 보냅니다.

답변1

이 파일을 만들었습니다.

[leonardo4it@box4it tst] $ ll -R /home/leonardo4it/tst/*
/home/leonardo4it/tst/abc:
total 0
-rw-rw-r-- 1 leonardo4it leonardo4it 0 Dec 28 14:04 abc_2016-12-28.txt
-rw-rw-r-- 1 leonardo4it leonardo4it 0 Dec 28 14:34 excluded.txt

/home/leonardo4it/tst/shhh:
total 0
-rw-rw-r-- 1 leonardo4it leonardo4it 0 Dec 28 14:06 hbcinema_2016-12-28.txt

/home/leonardo4it/tst/u111:
total 0
-rw-rw-r-- 1 leonardo4it leonardo4it 0 Dec 28 14:06 uu_2016-12-28.txt

오늘 사용된 날짜를 구성한 후찾다위와 같습니다. 나는 이 목록을 얻는다

[leonardo4it@box4it tst] $ export dat_day=(`date +%Y-%m-%d`)
[leonardo4it@box4it tst] $ echo $dat_day
2016-12-28
[leonardo4it@box4it tst] $ find /home/leonardo4it/tst/ -type f -name "*$dat_day.txt"
/home/leonardo4it/tst/abc/abc_2016-12-28.txt
/home/leonardo4it/tst/shhh/hbcinema_2016-12-28.txt
/home/leonardo4it/tst/u111/uu_2016-12-28.txt

답변2

#!/bin/bash
date=$(date +%Y-%m-%d)
find /documents/ -type f -name "*${date}.txt" | while read filename
do
       echo "filename : ${filename}"
       #  put your transfer logic here...
done

관련 정보