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字符串截取

参考技术A

grep 在文件中提取行,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中提取文件名【】中的数字的主要内容,如果未能解决你的问题,请参考以下文章

如何使用shell提取多个文本中相同的内容

如何用awk命令提取文件中的某一列并统计该列中某个数字出现的次数?

shell字符串截取

利用shell编程,提取注释文件中指定范围内的行

从 RPM 规范文件中提取 shell 脚本以进行静态分析

如何从 python 中的图像(或 pdf 文件)中提取名称和手写数字?