首页 > 试题广场 >

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

[编程题]将字段逆序输出文件的每行
  • 热度指数:18353 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
编写一个shell脚本,将文件nowcoder.txt中每一行的字段逆序输出,其中字段之间使用英文冒号:相分隔。
假设nowcoder.txt内容如下:
nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
root:*:0:0:System Administrator:/var/root:/bin/sh
你的脚本应当输出
/usr/bin/false:/var/empty:Unprivileged User:-2:-2:*:nobody
/bin/sh:/var/root:System Administrator:0:0:*:root

输入描述:
1


输出描述:
1
示例1

输入

nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false
root:*:0:0:System Administrator:/var/root:/bin/sh

输出

/usr/bin/false:/var/empty:Unprivileged User:-2:-2:*:nobody
/bin/sh:/var/root:System Administrator:0:0:*:root
头像 沙夏
发表于 2022-01-13 21:21:09
awk -F ":" '{a[NR]=$NF; for (i=NF-1;i>0;i--) a[NR]=a[NR]":"$i }END{for(k in a) print a[k]}' nowcoder.txt
头像 牛客895488737号
发表于 2022-01-26 15:15:27
awk -F":" '{for(i=NF;i>=1;i--) {if(i==1){printf("%s\n",i)} else {printf("%s:",i)}} }' nowcoder.txt
头像 M影
发表于 2023-02-23 21:54:04
awk -F ':' '{ for(i=NF;i>0;i--){ arr[NR]=arr[NR]":"$i #总共两行,将所有列从后面连接起来加入数组拼接成一个字符串 } }END{ for(j=1;j<=length(arr);j++){ 展开全文
头像 一头疯牛
发表于 2022-09-16 14:53:09
awk -v FS=":" '{for(i=NF;i>=1;i--){if(i>1){printf "%s:",$i}else{printf "%s\n",$i}}}' nowcoder.txt 使用awk完成,按行处理相关信息,具体每行的操作如下: ①-v FS=":" 指 展开全文
头像 DugoZhou
发表于 2024-11-29 16:34:04
#!/bin/bash awk -F ':' '{ sum = $NF for (i=NF-1; i>=1; i--){ sum = sum ":" $i } print sum }'
头像 牛客815460238号
发表于 2022-06-02 16:59:36
awk -F ":" '{s="";for(i=NF;i>0;i--){s=s":"$i};print substr(s,2)}' nowcoder.txt
头像 liudelantu
发表于 2024-08-24 17:10:35
#!/bin/bash # 无脑 awk 从后往前打印 awk -F ":" ' { for (i = NF; i>=1; i--){ if (i == 1){ print $i 展开全文
头像 北岛以北
发表于 2024-12-18 21:52:22
#!/bin/bash awk -F ":" ' { for(i=NF;i>=2;i--) { printf("%s:",$i) } printf("%s\n",$1) } 展开全文
头像 希望被捞的小猫很饥饿
发表于 2023-04-28 01:02:49
#!/bin/bash awk -F: '{for(i=NF;i>0;i--){printf "%s", $i; if(i>1){printf "%s", ":"}}; print ""}'
头像 杨宇凡001
发表于 2022-04-14 14:07:23
#! /bin/bash cat nowcoder.txt | awk -F ":" '{ for(i=NF;i>0;i--) { if(i!=1) { printf("%s:",i); } else { printf(" 展开全文