【发布时间】:2018-10-17 13:56:57
【问题描述】:
这是Awk: “Current time” outputs as zero的后续问题
我正在尝试将 file1 中的第一个字段和当前时间作为两个单独的字段发送到 .CSV 文件中,以便 field1 将填充与 field2 不同的单元格。
例如在文件一中。一行看起来像这样:
IN-X_4096_20140802_121306_007 `random text`
[edit:] 在 file1 的这一特定行中,007 结束第一个字段,“随机文本”表示该行中出现许多字段以及上述第一个字段。
[edit:] 我希望字段 1 取自 file1 并成为 file2.CSV 中的一个单元格。因此,file2.csv 中的第 1 列将始终是文件 1 中的字段 1。棘手的部分似乎是使 file2.csv 中的第 2 列包含时间。
N-X_4096_20140802_121306_007 (cell in column A) 14:24:32 (cell in column B)
我使用的代码是:
awk -v OFS=, '{ print $1 strftime(" %r")}' file1.jump > file2.csv
目前,此代码导致.CSV 文件将整个输出放入file2.csv 中每一行的一个单元格中。有没有办法让输出进入.CSV 中的单独单元格?
【问题讨论】:
-
对不起,问题不是很清楚。你能给出一个清晰的例子来说明你的输入是什么,它应该是什么样子?例如。文件 1 有像“A B C D”这样的行,我希望它的输出像“A,14:24:32,B,C,D”或类似的东西。
-
把问题原子化也很好!继续努力!
-
将
$1 strftime(" %r")更改为$1, strftime("%r") -
@ZakS EdMorton 的解决方案正确吗?
-
亲爱的@EdMorton——它有效,谢谢。我是否正确理解,因为 OFS=,将字段运算符设置为“,” - 因此它输出为两个单独的字段?