: ": 쓰기에 실패했습니다 : 일종의 표준 출력 : 파이프가 깨"bash는 오류 종류의 "종류 : 표준 출력 : 쓰기 실패 파이프가 깨"나는이 스크립트를 실행하면 내가 가진 오류 메시지가받을
사람이 할 수있는 경우를 이 오류로 미쳐 버릴 것입니다.
입력 파일은 모두 FASTA 형식의 DNA 시퀀스가 들어있는 파일 목록이므로 각 파일에는 여러 시퀀스 (각 시퀀스가 한 줄에 있음)가 있습니다. 형식 : $ 1 (식별자) $ 2,3,4,5,6,7 & 8 (더 많은 값) $ 9 (DNA 시퀀스)
그런 다음 각 파일의 시퀀스 수 ($ common_hits)로이 시퀀스를 선택하고 싶습니다.이 숫자는 수정 값이 아니지만 예를 들어 6을 설정합니다. - 6 시퀀스 미만의 모든 파일을 제거해야합니다. - 6 개 시퀀스가있는 파일은 정상입니다. - 6 개 이상의 시퀀스가있는 파일은 6 개 시퀀스로 축소해야합니다 (이 시퀀스는 $ 5 필드의 더 높은 값으로 선택됩니다).
출력 파일은 모두 6 개의 시퀀스와 시퀀스 (필드 $ 9)는 식별자 뒤의 줄에 있어야합니다.
나는 그것이 작동하는지 확인하기 위해 6 개 이상의 시퀀스가있는 원본 파일을 제거하지 않을 것입니다.
종료가 (또는 다른 표준 입력을 닫습니다) 경우par_list=`ls -1 *BR`
common_hits="6"
for i in ${par_list}
do
if [ "`cat ${i} | wc -l`" -lt "${common_hits}" ]
then
rm -f ${i}
elif [ "`cat ${i} | wc -l`" -gt "${common_hits}" ]
then
cat ${i} | sort -nr -k 5 | head -n ${common_hits} | \
awk '{print $1" " $2" " $3" " $4" " $5" " $6" " $7" "$8 ; print $9}' > ${i}.ph
fi
done
스택 오버플로 사이트에 오신 것을 환영합니다. 코드를 코드 태그로 마무리하십시오. 포럼 규칙을 적용하고 문제를보다 명확하게 설명하여 도움을 주실 수 있습니다. 감사합니다. – RavinderSingh13
스크립트에 많은 변화를 줄 수 있다는 것을 알았습니다. 2 가지를 게시하십시오. 1 번 요구 사항이 무엇입니까 (샘플 Input_file 및 예상 output_file), 두 번째 동일한 스크립트를 원한다면 se를 사용하십시오 t -x를 스크립트 시작 부분에 표시하고 결과를 표시하십시오. 요구 사항 (코드 태그의 Input_file 및 output_file은 무엇인지)을 알려줘야합니다. – RavinderSingh13
조언 해 주셔서 감사합니다. 지금 이해하기 쉽습니다. – Dani