이전 명령을 실행 취소하지 않고 CSV 파일에 여러 명령을 적용하는 방법은 무엇입니까?

이전 명령을 실행 취소하지 않고 CSV 파일에 여러 명령을 적용하는 방법은 무엇입니까?

저는 명령줄을 처음 사용하기 때문에 이것이 어리석은 질문처럼 보이면 죄송합니다! 다음 명령 세트를 사용하여 터미널에서 CSV 파일을 편집하려고 합니다.

(head -n 1 canine_genes_v2.csv && tail -n +2 canine_genes_v2.csv | sort -t, -k2,2n)

sed ‘s/plus/+/g’ canine_genes_v2.csv

sed ‘s/minus/-/g’ canine_genes_v2.csv

cut -d, -f 1,2,3,4,5,6 canine_genes_v2.csv

perl -p -e 's/,/\t/g' canine_genes_v2.csv

내 문제는 명령을 적용할 때마다 이전 명령이 실행 취소된다는 것입니다. 각 명령을 개별적으로 실행하고 출력을 다른 파일에 저장하면 md5sum 명령을 사용하여 변경 사항을 볼 수 있다는 것을 알았습니다. 하지만 내 문제는 이 모든 명령을 동일한 파일에 동시에 적용하고 싶다는 것입니다.

답변1

이러한 명령은 아무것도 실행 취소하지 않으며 파일을 전혀 변경하지 않습니다. 명령 중 하나를 적용하고 파일에 변경 사항이 없는지 확인하십시오. 이러한 명령은 head, sedcut 읽다파일을 변경하고 출력을 stdout셸 세션 등으로 보냅니다.

실제로 파일을 변경하려면 다음을 수행하십시오.

  • 한 명령의 출력을 다음 명령으로 파이프합니다.
  • sed이 옵션과 함께 사용됩니다 -i (귀하의 sed버전에서 제공하는 경우).
  • > temp-filename 각 명령의 출력을 다음 단계의 입력으로 사용할 수 있는 임시 파일로 리디렉션

관련 정보