题解 | #将字段逆序输出文件的每行#

将字段逆序输出文件的每行

https://www.nowcoder.com/practice/e33fff83fd384a21ba67f3104fb8d646

awk -F ":" '{s="";for(i=NF;i>0;i--){s=s":"$i};print substr(s,2)}' nowcoder.txt

题解里的一个大哥的,这个很简洁还没报错。

 awk处理文件 nowcoder.txt 中的每一行。让我们来详细解释一下这个命令:

  1. -F ":":这部分指定了分隔符,即冒号。
  2. '{s="";for(i=NF;i>0;i--){s=s":"$i};print substr(s,2)}':这是一个 awk 脚本,它对每一行的字段进行操作。具体步骤如下:首先,创建一个空字符串变量 s。然后,从最后一个字段(NF)开始,逐个将字段内容加入 s 中,每个字段之间用冒号连接。最后,使用 substr(s, 2) 去掉 字符串s开头的冒号,并将结果输出。
  • s 是一个字符串变量。
  • 2 是截取的起始位置。在这里,我们希望去掉字符串开头的冒号,所以从第二个字符开始截取。
  • 结果是去掉了开头的冒号的字符串。

例如,如果我们有一个字符串 s,内容为 ":apple:banana:cherry",应用 substr(s, 2) 后,结果将是 "apple:banana:cherry",即去掉了开头的冒号。

全部评论

相关推荐

弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务