shell中提取文件名【】中的数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中提取文件名【】中的数字相关的知识,希望对你有一定的参考价值。
shell中提取文件名中的数字;我有很多文件名 诸如 [2014]xxxx.p0 [2016]xxxx.p0 我现在想要提取2014到一个变量中;如何用awk实现;我自己写的eval `ls *p0|awk -F '"[]"' 'print "a["NR"]="$1"'`总是报错
如果使用eval,试试这样:
直接数组赋值。一条一条地可能有问题,没试出来
参考技术A 应该是把 [] 特殊符号,未当成字符处理,你把 [] 符号 转译 下试下,追问我一开始就用\[转译了 出错一样的 貌似 ‘ ’ 里的不会被shell解释吧?
本回答被提问者采纳shell字符串截取
参考技术Agrep 在文件中提取行,cut awk sed 提取列
输出格式
awk \'条件一动作一 条件2动作二 ...\' 文件名
条件 一般使用关系表达式作为条件 x>10
动作 格式化输出,流程控制语句
print 不需要加换行符
df -h 查看系统容量使用情况
grep 截取行
awk 提取
cut 截取
手动指定分隔符,要加入begin
sed 是一种几乎包括在所有unix平台的轻量流编辑器。sed主要是用来将数据进行选取,替换,删除和新增的命令。
动作
删除2,3行
接收管道符
sort [选项] 文件名
sort /etc/passwd
sort -r /etc/passwd
按数值排序
wc [选项] 文件名
以上是关于shell中提取文件名【】中的数字的主要内容,如果未能解决你的问题,请参考以下文章