Unix 使用|分离的变量将csv文件中数据的时间组件剥离
对UNIX有点陌生,但我对reagrds将csv文件更改为数据源有一个问题 有几个|分开的列,其中日期返回为(例如) |07-04-2006 15:50:33:44:55:66| 这需要改为 |07-04-2006| 如果所有数据都写入另一个文件,这并不重要。这些文件中有数千行 理想情况下,我正在寻找一种方法,可以转到第3和第7个管道列,并获取前10个字符,然后在下一个之前删除任何其他字符|Unix 使用|分离的变量将csv文件中数据的时间组件剥离,unix,Unix,对UNIX有点陌生,但我对reagrds将csv文件更改为数据源有一个问题 有几个|分开的列,其中日期返回为(例如) |07-04-2006 15:50:33:44:55:66| 这需要改为 |07-04-2006| 如果所有数据都写入另一个文件,这并不重要。这些文件中有数千行 理想情况下,我正在寻找一种方法,可以转到第3和第7个管道列,并获取前10个字符,然后在下一个之前删除任何其他字符| 提前感谢您的帮助。您到底想要什么 您可以使用文件IO将|07-04-2006 15:50:33:44:5
提前感谢您的帮助。您到底想要什么
您可以使用文件IO将
|07-04-2006 15:50:33:44:55:66
替换为|07-04-2006
此操作适用于所有列,但除非存在不能更改的日期列:
sed 's/|\(..-..-....\) ..:..:..:..:..:..|/|\1|/g'
如果要更改文件,可以使用sed的
-i
选项。我要将文件中的所有日期更改为管道后的前10个字符。根据所使用的文件,日期的位置可能会发生变化,但它们在file.Okie中是一致的。请让我们知道您想要哪种语言的代码?这是一个运行Redhat.OS的LINUX机器,可以,但是您使用哪种语言?C/C++/Java/php?嗨,为了澄清一下,我希望所有日期的数据都保留在一个文件中,而不是字面意义上的“删除”。