77问答网
所有问题
编shell脚本遇到一个问题,awk能切割掉最后一个字段的值嘛?
如这个路径“/usr/share/man/man5/locale.alias.5.gz ”
我以“/”作为分隔符,去掉最后一个字段变成“/usr/share/man/man5/”要怎么写?
举报该问题
推荐答案 2013-02-21
先设个变量:
path=/usr/share/man/man5/locale.alias.5.gz
法一,bash中特有的字符串分割法:
echo ${path%/*}/
法二,sed中的s替换命令,利用了*在正则中的贪婪特性:
echo $path | sed 's#\(.*/\).*#\1#'
法三,awk字段分割重组:
echo $path | awk -F/ '{for(i=1;i<NF;i++)printf("%s/",$i);printf("\n")}'
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/IY3WvYWYp.html
其他回答
第1个回答 2013-02-22
awk 'NF-=1' FS="/" OFS="/"
即可
希望采纳~
这么简单的命令就能完成,楼上还能写出一堆废话....
第2个回答 2013-02-21
/usr/share/man/man5/locale.alias.5.gz | awk -F"/" '{printf "/%s/%s/%s/%s/\n",$2,$3,$4,$5 }'
如果整个字符串长度不定的话,man5固定的话,可以采用if($NF=="man5")来判断需要几个字段进行拼接。
相似回答
shell
awk
截取某一字符串并移除当中
最后一
位。方法越多越好,谢谢~
答:
awk
-F" " '{print $4}' xxx | sed 's/\.//g'
shell
awk
取
最后一个值
答:
awk
'{print $NF}' filename 打印每行的
最后一
列
shell
中分割字符串之后怎么取得
最后一个
东西
的值?
如果
可以
的话,怎么...
答:
1、首先在
shell
中,定义一个字符串变量,例:str='bbc123uu789'。2、使用echo输出变量$str
的值,
例:#注释:shell中定义变量不需要使用$符号,使用变量的时候需要使用$符号echo $str。3、使用sed指令,对变量进行处理,例:echo $str|sed 's/./&\+/g'#注释:sed是文本流的处理指令,不会对原...
linux
shell
编程
awk
-F/ 'OFS="/"{$NF="";print}'`这条
脚本
是什么意思...
答:
将输入文本流分割为多个字段进行处理 OFS="/" 设置输出时的字段分隔符为/ NF="" 将
最后一个字段
内容设置为空,即去除每行的最后一个字段 最后通过print打印出来。例如
,一个
文本内容为:a/b/c/d/e h/i/j/k/l/m 处理后的输出内容为:a/b/c/d/ h/i/j/k/l/ ...
linux
shell
/ sed /
awk
/ 相关
脚本
编程 如何把
一个
文件中的匹配内容后...
答:
sed 's/\(Part label=\).*:\(.*\)-.*/\1"\2"/g' 文件名 > 输出文件名我自己测试了一下,应该没问题
shell
awk
命令详解
答:
NF : 表示字段数,在执行过程中对应于当前的字段数。 print $NF答应一行中
最后一个字段
OFMT : 数字的输出格式(默认值是%.6g)。OFS : 输出字段分隔符(默认值是一个空格)。ORS : 输出记录分隔符(默认值是一个换行符)。RS : 记录分隔符(默认是一个换行符)。RSTART : 由match函数所匹配...
shell脚本
取重复数据的
最后一
条记录
答:
最后,
恕我直言,这个题目的难度不止10分。你看,while循环,grep / sed /
awk,
全用上了 ^_^ ———发现一个更简练的方法,两条命令即可搞定:awk '{s[$0]+=1} END{for(a in s) print a, s[a]}' file.unl >err.unl awk '{print $1}' err.unl >file.unl 当然,前提是unl文...
大家正在搜
shell脚本awk空格分割
shell脚本awk截取字符串
linuxshell脚本awk
100个必会的shell脚本
shell脚本awk用法
shell脚本执行bash
xshell脚本awk用法
如何编写shell脚本
shell脚本基本命令
相关问题
如何用awk取出一个文本行中的最后一个字段
shell awk 取最后一个值
shell中 sed或awk 通过分隔符删除相应字段
如何用awk实现显示第二个字段到最后一个字段
求大神用shell中的sed,awk分割出其中的数字串,
shell脚本 awk请教 输出以这开头以那结尾的段
请教一个UNIX shell awk分割的问题,要死了