나는 다음 명령을 가지고 있습니다 :
for file in file??.txt; do awk -f vypis_z_dcout.awk "$file" > "$file".csv; done
결과는 각 파일의 숫자 열이며 모든 파일의 결과를 해당 열처럼 하나의 파일에 연결하고 싶습니다. 이 명령에 어떻게 추가하나요?
paste <(cat f.csv) <(cat f1.csv) <(cat f2.csv) <(cat f3.csv) <(cat f4.csv) .... insert "$file".csv ... > out.csv
아니면 첫 번째 열에 file01.csv, 두 번째 열에 file02.csv 등이 있는 파일을 가져오는 방법은 무엇입니까? 감사해요
답변1
무슨 말인지 이해가 된다면 다음과 같은 이름의 파일 세트로 시작하겠습니다.
file01.txt
file02.txt
file03.txt
awk
그런 다음 처리된 각 파일에 대한 데이터 열을 생성하는 를 사용하여 각 텍스트 파일을 차례로 처리할 수 있습니다 . 따라서 이 가상 디렉터리에는 이제 6개의 파일이 있습니다.
file01.txt
file02.txt
file03.txt
file01.txt.csv
file02.txt.csv
file03.txt.csv
마지막 3개 파일은 프로그램의 결과입니다 awk
.
이전 단계에서 생성된 CSV 파일을 이전 단계에서 생성된 파일과 동일한 수의 열이 있는 CSV 파일에 붙여넣으려면 다음을 사용합니다.
paste -d '[DELIMITER]' file??.txt.csv > out.csv
위 코드를 [DELIMITER]
생성된 CSV 파일에서 구분 기호로 사용하려는 문자로 바꾸세요. 예를 들어 file01.txt.csv
다음 데이터를 포함하는 경우:
1
2
3
... file02.txt.csv
다음 데이터가 포함되어 있습니다.
4
5
6
... file03.txt.csv
다음 데이터가 포함되어 있습니다.
7
8
9
... paste -d ';' file??.txt.csv > out.csv
그러면 "out.csv" 파일이 다음 내용으로 채워집니다.
1;4;7
2;5;8
3;6;9