2017-12-30 20 views
0

bash 버전 3.2.57 (1) -lease가있는 macOS Sierra를 사용하고 있습니다. shasum -c /files.txt > /out.txt을 사용하여 파일의 체크섬을 확인하고 싶습니다. 여기서는 files.txt에 체크섬이 포함되어 있고 out.txt에는 결과가 저장됩니다.grep 디스플레이 오류 만 있습니다

grep을 사용하여 어떤 방법 으로든 필터를 제거하고 오류를 out.txt으로 저장하고 싶습니다. 이것이 가능한 방법은 무엇입니까? 이것에 편리할까요? $??

감사


추가 정보 :

$ cat errors.txt 
/samplefile.bad: FAILED 

또는

01,231,398,893,638,167,943 :이 내가 가지고 싶은 것입니다

--BEGIN /file.txt CONTENTS-- 
865f34fe7ba81e1337ddbdfc511547d190367bbf3dad21aeb6da3eec621044f5 /samplefile.good 
93ddaab2f672ff976756f50677646cafebabe93244f615e687db01399cf3fbc6 /samplefile.bad 

--END /file.txt CONTENTS-- 


--BEGIN USER INTERACTION-- 

$ shasum -c file.txt 
/samplefile.good: OK 
/samplefile.bad: FAILED 
shasum: WARNING: 1 computed checksum did NOT match 

$ shasum -c file.txt 2> errors.txt 
/samplefile.good: OK 
/samplefile.bad: FAILED 

$ cat errors.txt 
shasum: WARNING: 1 computed checksum did NOT match 

$ shasum -c file.txt 2>&1 > errors.txt 
shasum: WARNING: 1 computed checksum did NOT match 

$ cat errors.txt 
/samplefile.good: OK 
/samplefile.bad: FAILED 

--END USER INTERACTION-- 

당신이 실제로 그런 grep을 사용할 수 있습니다, 당신이 정말로 몇 가지 오류 종류를 잡을 싶은 경우

$ shasum -c file.txt 2> errors.txt 
$ cat error.txt 
shasum: file.txt: no properly formatted SHA1 checksum lines found 

:

+0

정확히 찾고있는 것처럼 보이지는 않지만 아직 시도해 볼 수 있습니다. 나는 단지'grep'이나 비슷한 것을 만들고 싶습니다. 단지'shasum' 에러 만 필터링합니다. – leetbacoon

+1

오류가'stderr'에 기록되면'2> out.txt'만으로도 충분합니다. ('/ out.txt'는 아마도'Permission denied'을 얻을 것입니다). – cdarke

답변

0

당신은 shasum 명령에서 모든 종류의 오류를 얻을 수 grep를 사용할 필요가 없습니다 :

$ shasum -c file.txt 2>&1 | grep -i "no properly formatted" > errors.txt 
+1

'shasum -c file.txt 2> & 1 | ... '. ** 오류 **, '2> & 1>/dev/null'을 원한다면. – PesaThe

+0

@ 페사 +1 내 잘못이야! (내 대답, 감사를 업데이 트했습니다) –

+0

고마워,하지만 난'errors.txt'에 저장된 올바른 오류를 얻을하지 않습니다. SE 주석은 정돈 된 형식이 아니므로 [자세한 내용은이 pastebin 붙여 넣기를 참조하십시오] (https://pastebin.com/DV2MECN7). – leetbacoon