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

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

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",即去掉了开头的冒号。

全部评论

相关推荐

某物流公司 软件开发岗 总包26-30
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务