다음을 사용하여 폴더의 파일 이름을 gdf에서 csv로 변경하려고 합니다.
$for i in *.dbf; do mv $i ${i%.dbf}.ods; done
스크립트.
이 코드는 모든 gdf를 csv로 변경하지만 새 파일의 내용은 원본 gdf 파일과 다릅니다.
아래는 샘플 파일입니다. 파일에는 두 개의 열이 있습니다.
1_CopyRow.dbf
time,N,19,11 prec,N,13,11
19710101.00000000000 0.02072840000
19710102.00000000000 0.42218300000
19710103.00000000000 0.17756100000
19710104.00000000000 0.33698200000
19710105.00000000000 0.11057700000
19710106.00000000000 0.02841580000
19710107.00000000000 0.00000000000
19710108.00000000000 0.00000000000
19710109.00000000000 0.00000000000
위 코드의 결과는 1_CopyRow.ods입니다.
rma!WtimeFprecF
1.97101010000e+007 2.07284e-002 1.97101020000e+007 4.22183e-001 1.97101030000e+007 1.77561e-001 1.97101040000e+007 3.36982 e-001 1.97101050000e+007 1.10577e-001 1.97101060000e+007
출력 파일이 입력과 동일하기를 원합니다. 이 문제를 해결하는 방법을 모르겠습니다. 어떤 제안이 있으십니까?
답변1
문서예같은. 터미널을 열고 를 입력하면 cat 1_CopyRow.dbf
동일한 cat 1_CopyRow.ods
것을 알 수 있습니다.
무슨 일이 일어나고 있는지는 Open/Libre Office( .ods
파일을 여는 데 사용한다고 가정)가 표시할 파일의 형식을 지정하고 있다는 것입니다.
1.97101010000e+007 = 1.9710101 x 10^7 = 19710101 = 19710101.000000000
즉, 모두 같은 값입니다.
귀하의 질문은 이름을 으로 바꿀지 .ods
또는 으로 바꿀지 명확하지 않습니다 .csv
.