gpt4 book ai didi

linux - 如何使用 awk 将文件的某个字段更改为大写?

转载 作者:IT王子 更新时间:2023-10-29 01:12:09 25 4
gpt4 key购买 nike

我有一个这样的文本文件:

1 http http 3 4 5 
2 dns dns 4
3 ftp ftp 4 5 6 8

我希望输出是这样的:

1 HTTP http 3 4 5 
2 DNS dns 4
3 FTP ftp 4 5 6 8

我想将第二个字段从小写更改为大写,并且只更改第二个字段。

注意某一行的字段数是不固定的。

我可以使用 awk 实现这个目标吗?

最佳答案

你当然可以。方法如下:

awk '$2 = toupper($2)' file

结果:

1 HTTP http 3 4 5
2 DNS dns 4
3 FTP ftp 4 5 6 8

来自手册:

tolower(str)

Returns a copy of the string str, with all the upper-case characters in str translated to their corresponding lower-case counterparts. Non-alphabetic characters are left unchanged.

头顶(海峡)

Returns a copy of the string str, with all the lower-case characters in str translated to their corresponding upper-case counterparts. Non-alphabetic characters are left unchanged.


我假设给定您的示例数据,它至少有三列,并且您讨论的变量组件适用于包含单词的列之后的列。如果我错了,你可以简单地添加条件:

awk 'NF>1 { $2 = toupper($2) }1' file

关于linux - 如何使用 awk 将文件的某个字段更改为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14022529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com