input.txt 파일에서 여러 명령을 차례로 실행하고 새 .csv 파일로 출력하고 싶습니다. 모든 명령은 개별적으로 실행될 때 성공적으로 실행되지만 { && 또는;으로 실행하면 아무 일도 일어나지 않습니다. }
내 명령은 다음과 같습니다
cat input_file.txt > output_file.csv
awk 'NR % 13 == 0'
sed -i '1i id,surface area (mm^2),gray matter volume (mm^3),avg
cortical thickness +-sd,mean curvature,gaussian curvature,folding
index,curvature index,hemi,ROI'
awk -F"/" '$1=$1' OFS="\t"
sed -e 's/\s\+/,/g'
awk '{ print $10 " " $0}' >> output_file.csv
이 모든 명령을 실행하고 이전 명령 이후에 각 명령을 실행하는 방법을 아는 사람이 있습니까?
매우 감사합니다!
답변1
당신은 원하십니까?체인하나의 출력에서 다음의 입력까지? 그렇다면 명령을 파이프로 "연결"해야 합니다. 이렇게 하면 첫 번째 프로그램의 출력이 다음 프로그램의 입력이 됩니다.
date -u
2019년 10월 15일 17:58:20 UTC
date -u | sed 's/ /./'
2019년 3월 15일 17:58:20.UTC
그래서, 당신은 실행할 수 있습니다차례로파이프 문자 |를 사용하여 연결합니다.
또는 이들 모두의 출력을 독립적으로 얻으려면 하위 쉘을 사용할 수 있습니다. Bash에서는 다음과 같이 할 수 있습니다:
(command1.sh;command2.sh;command3.sh) >> output.txt
";", "&&", 개행 문자 등을 사용하여 별도의 명령을 실행할 수 있습니다.