awk - 如何使用 awk 在最后一个字段之前将字段添加到文本文件中?
问题描述
我有以下空格分隔的文本文件:
ra dec type
197.574288 -0.673779 coadd
201.236362 -1.007902 coadd
191.573312 5.039784 coadd
使用“ra”“dec”和“type”作为文件的标题。我想使用 awk 命令在最后一个字段之前添加一个具有常量值“i”的字段,并在最后一个字段之后添加一个具有常量值“pdr”的字段,所以它看起来像这样:
ra dec i type pdr
197.574288 -0.673779 i coadd pdr
201.236362 -1.007902 i coadd pdr
191.573312 5.039784 i coadd pdr
到目前为止,我已经尝试了许多不同的命令,例如
awk '{printf("i %s pdr2_wide\n",$3,$5)}' psffile.txt > psf50.txt
awk '{printf($1,$2,$3,"i %s pdr2_wide\n",$4,$5)}' psffile.txt > psf50.txt
awk -F '\ ' -v OFS='\ ' '{ $(NF-1) = i; print }' psffile.txt > psf50.txt <br />
编辑:当我输入命令"awk '{ print $1,$2,"i",$3,"pdr" }' input"它给了我一个奇怪的格式输出:
ra dec i type pdr
197.574288 -0.673779 i coadd
pdr
201.236362 -1.007902 i coadd
pdr
191.573312 5.039784 i coadd
pdr
有没有办法来解决这个问题?
解决方案
awk '{ print $1,$2,"i",$3,"pdr" }' input
输出:
ra dec i type pdr
197.574288 -0.673779 i coadd pdr
201.236362 -1.007902 i coadd pdr
191.573312 5.039784 i coadd pdr
推荐阅读
- javafx-8 - Java - 如何在 JavaFX 中显示和编辑 250 个数字的块
- xml - 如何在 RapidMiner 中处理 XML 文件?
- python - DRF API 端点获取“未提供身份验证凭据”
- java - Mockito thenThrow() 错误
- jquery - 如何使用 jq 控制 animate.css 库
- selenium-webdriver - 在量角器中获取选定的选项文本
- ruby-on-rails - 如何修复 Lint/Syntax:Rails 中的意外令牌 tRPAREN?
- angular - Firefox 不知道如何打开这个地址,因为协议(不安全)
- python - mypy 设置字典键/接口
- python - 使用 pushd 命令打开子进程