나는 나에게 000001의 출력을 줄 것이다시퀀스를 가져 와서 변경하는 쉘 스크립트?
echo "abcd0001gfh.DAT" | sed 's/^[^0-9]*\(....\).*$/\1/' | awk '{ print "00"$0 }'
이 같은 명령을하지만 내가 0001-9999 에서 파일 이름을받을 경우 루프에서 이 실행하려면 다시 0001이된다. 그래서 내 출력은 내가 0002 후 0005을 받게되며 여기에 내가없는 시퀀스로 0003과 0004을 고려할 수있는 기회도 있습니다
abcd0001gfh.DAT 000001
abcd0002gfh.DAT 000002
.
.
.
abcd9999gfh.DAT 009999
abcd0001gfh.DAT 010001
.
.
abcd9999gfh.DAT 019999
abcd0001gfh.DAT 020001
아래와 같이한다.
나는 한계가 입력 파일에 99 시간을 수신 00-99 예에서 범위는, 값은 999999까지 갈 수있는 접두사의 값이 그래서 루프가 9999까지 가야 있도록 설정하려면 .
어떻게 쉘 스크립트에서이 작업을 수행 할 수 있습니까?
예 피터 ... 내 .DAT 파일 이름 난 다른 하나의 순차적 후 일부 시퀀스 수도 miss.so 어떤 경우에 파일을 수신 계속되고 여기에 문제 datfiles.list.but라는 파일에 저장 스크립트 shoudl 디렉토리를 폴링에 계속하고 그에 따라 순서를 제공합니다. 그래서 나는이 솔루션은 .. 비록 그것의 좋은 생각하지만 목적을 해결하지 않습니다. – Vijay
누락 된 경우 스크립트가 시퀀스의 파일을 기다려야한다는 것을 의미합니까? – aktivb