2012-10-10 3 views
3

나는 고양이에게 많은 파일을 남기고 있는데, 그 중 일부는 존재하지 않을 수도 있습니다. 일부는 존재하지 않지만 괜찮 으면 좋겠지 만 가능한 경우이 경우 고양이가 오류를 반환하지 않기를 바란다. 여기에 내 전화입니다 : * _max.rpt.gz이 존재합니다 일치하는 파일의유닉스 고양이 여러 파일 - 하나도 존재하지 않으면 오류가 발생하지 않습니까?

이 명령이 실행
zcat *_max.rpt.gz *_min.rpt.gz | gzip > temp.rpt.gz 

, 중 무리, 또는 * _min.rpt.gz이 존재합니다. 다른 하나가 존재하지 않는다면, 나는 상관 없다. 나는 단지 내가 할 수있는 것을 연결시키고 싶다. 하지만 나머지 코드가 실행되는 것을 막는 오류 메시지가 나타납니다.

내가 할 수있는 것은 무엇입니까? 감사.

답변

7

는 그냥 표준 오류 리디렉션을/dev/null : 하나 이상의 파일이 존재하지 않는 경우

cat file1 file2 .... 2>/dev/null 

, 그럼 고양이는/dev/null로 이동합니다 오류를 줄 것이다 당신이 얻을 것이다 원하는 결과.

+0

내 사람이다 ... 나는 뭔가을/dev/null을 사용하는 사람을 알고 있었다. 편집 - 코드 줄 내에서 2/dev/null을 어디에 넣을 지 모르겠다 - 파이프 뒤 또는 이전에? – JDS

+0

@YoungMoney 파이프 앞 :'zcat * _max.rpt.gz * _min.rpt.gz 2>/dev/null | gzip> temp.rpt.gz' –

1
zcat `ls *.rpt.gz | grep -E '_(max|min)\.rpt\.gz$'` | gzip > temp.rpt.gz 

해킹의 비트,하지만 그때 그렇게 쉘 - P

+0

그리고 저는 perl "system"호출을 통해 이것을하고 있습니다 ... – JDS

관련 문제