www.kzwk.net > shEll脚本里,如果删除变量的最后一个字符?

shEll脚本里,如果删除变量的最后一个字符?

先设个变量: path=/usr/share/man/man5/locale.alias.5.gz 法一,bash中特有的字符串分割法: echo ${path%/*}/ 法二,sed中的s替换命令,利用了*在正则中的贪婪特性: echo $path | sed 's#\(.*/\).*#\1#' 法三,awk字段分割重组: echo $path...

sed替换命令的结构是这样的:s/A/B/ 如果要替换的内容在一条记录(一行)中出现多次,那么可以使用全局替换:s/A/B/g 所以,你这个问题,用下面这个就行: sed 's/|$//' file.txt

每行末尾都有一个换行符的。只删除最后一个换行符,就意味着将文件的倒数第二行与最后一行合并成一行。我这个题意理解得正确吗? 如果是这样: line=`sed -n '$=' file.txt` #计算文件行数let line-=1 #得到倒数第二行的行号sed -i $line'{N;s/\...

[root@localhost wwe]# cat -E good $ good$ [root@localhost wwe]# 1.借助tr命令 [root@localhost wwe]# tail -n1 good | tr -d '\n' >> oo [root@localhost wwe]# cat -E oo good[root[/color]@localhost wwe]# 2.将good中的最后一行删除 [roo...

[seesea@UC ~]$ cat file a\b\ccc\dddxxx\y\zzzq\w[seesea@UC ~]$ sed -r 's/\\([^\]*)$/ \1/' file a\b\ccc dddxxx\y zzzq w[seesea@UC ~]$ sed -r 's/(.*)\\/\1 /' file a\b\ccc dddxxx\y zzzq w

awk -F" " '{print $4}' xxx | awk -F. '{print $1}' awk -F" " '{print $4}' xxx | sed 's/\.//g'

#!/bin/shmyfile=test.txtstartLine=3lineCnt=4let endLine="startLine + lineCnt - 1"sed -i $startLine','$endLine'd' $myfilestartLine 表示开始行的行号 lineCnt 表示总共要删除的行数

有很多命令都可以实现你要求的功能,比如 awk: echo "1:3:5" | awk -F ":" '{print $NF}' sed: echo "1:3:5" | sed 's/.*:\([^:]*\)$/\1/'

网站地图

All rights reserved Powered by www.kzwk.net

copyright ©right 2010-2021。
www.kzwk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com