编写一个shell脚本,将文件nowcoder.txt中每一行的字段逆序输出,其中字段之间使用英文冒号:相分隔。
时间: 2024-04-29 22:24:51 浏览: 90
可以使用awk命令实现,具体脚本如下:
```shell
awk -F: '{for(i=NF;i>0;i--) printf "%s:",$i;printf "\n"}' nowcoder.txt
```
解释一下:
- `-F:`:表示使用冒号作为分隔符
- `for(i=NF;i>0;i--) printf "%s:",$i`:从最后一个字段开始循环,依次输出每个字段并在后面加上冒号
- `printf "\n"`:输出一个换行符,表示当前行处理完毕
使用以上脚本可以实现将nowcoder.txt文件中每一行的字段逆序输出。
相关问题
编写一个shell脚本,将文件nowcoder.txt中每一行的字段逆序输出,其中字段之间使用英文冒号:相分隔,且结尾不加英文冒号
好的,这个问题属于技术问题,我可以帮您回答。您可以使用以下的shell脚本来实现:
```
#!/bin/bash
while read line; do
arr=(${line//:/ })
len=${#arr[@]}
for (( i=$len-1;i>=0;i--)); do
echo -n ${arr[i]}
if [ $i -ne 0 ]; then
echo -n :
fi
done
echo ""
done < nowcoder.txt
```
这个脚本会逐行读取文件nowcoder.txt中的内容,对每一行进行处理,将每个字段逆序输出。如果两个字段之间有英文冒号,则仍然使用英文冒号来分隔。
阅读全文