我试图使用以下命令将文件夹中的文件名从 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
。