저는 명령줄을 처음 사용하기 때문에 이것이 어리석은 질문처럼 보이면 죄송합니다! 다음 명령 세트를 사용하여 터미널에서 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
, sed
및cut
읽다파일을 변경하고 출력을 stdout
셸 세션 등으로 보냅니다.
실제로 파일을 변경하려면 다음을 수행하십시오.
- 한 명령의 출력을 다음 명령으로 파이프합니다.
sed
이 옵션과 함께 사용됩니다-i
(귀하의sed
버전에서 제공하는 경우).> temp-filename
각 명령의 출력을 다음 단계의 입력으로 사용할 수 있는 임시 파일로 리디렉션