다음 형식의 CSV 파일이 있습니다.
1.csv
1,2,3,4,5,6,7,8
2.csv
2,4,5,7,8,8,9,5
3.csv
2,3,4,5,6,7,8,9
…
에 따라 18.csv
.
나는 결과가 result.csv
다음과 같기를 원합니다:
1,2,3,4,5,6,7,8,2,4,5,7,8,8,9,5,2,3,4,5,6,7,8,9
시도했지만 cat
하나씩 추가됩니다. 또한 CSV를 다음과 같이 변환하고 싶습니다 1.csv
.
1
2
3
4
5
6
7
8
답변1
result.csv 파일을 얻었습니다.
for i in {1..18}; do paste $i.csv; done | paste -s > result.csv
아니면 고양이와 함께:
for i in {1..18}; do cat $i.csv; done | paste -s > result.csv
-s
(paste/cat을 사용하여 모든 것을 하나로 묶은 다음 한 줄에 맞도록 출력 형식을 지정하십시오 .)
루프 방지:
cat {1..18}.csv | paste -s > result.csv
1.csv 전치:
sed 's/,/\n/g' 1.csv
(캐리지 리턴을 통해 쉼표를 변환하면 됩니다)
답변2
1 부:
paste -d, {1..18}.csv
범용 전치의 경우 datamash를 사용하십시오.
cat {1..3}.csv | datamash -t, transpose
1,2,2
2,4,3
3,5,4
4,7,5
5,8,6
6,8,7
7,9,8
8,5,9