繁体   English   中英

如何在 linux 中的文件中添加具有特定单词的新列?

[英]How do I add a new column with a specific word to a file in linux?

我有一个文件,其中一列包含 2059 个 ID 号。
我想为所有 2059 个 ID 号添加带有单词“pop1”的第二列。
第二列仅表示 ID 号属于人口 1。

linux 使用 awk 或 sed 我该怎么做?

该文件当前有一列看起来像这样

45958 
480585 
308494

我希望它看起来像:

45958 pop1
480585 pop1
308494 pop1

也许不是最优雅的解决方案,它不使用 sed 或 awk,但我会这样做:

while read -r line; do echo ""$line" pop1" >> newfile; done < test

此命令将 append 内容放在文件“newfile”中,因此在执行命令之前请确保它为空或不存在。

这是我在逐行读取文件时使用的资源: https://www.cyberciti.biz/faq/unix-howto-read-line-by-line-from-file/

Perl 解决方案。

$ perl -lpi -e '$_ .= " pop1"' your-file-name

命令行选项:

  • -l:从输入中删除换行符并在 output 上替换它
  • -p:将每一行输入放入$_并在每次迭代结束时打印$_
  • -i:就地编辑(覆盖输入文件)
  • -e:为输入的每一行运行此代码

代码( $_.= " pop1" )只是将您的字符串附加到输入记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM