[英]how can i use regex to get a certain string of a file
使用linux bash shell时,如何使用正则表达式获取文件的特定字符串
例如:
对于文件名* .tgz
“获取文件名的特定字符串(以我为例,获取文件2010.01.12myfile.tgz的2010.04.12)”
DONE
还是我应该转向perl
留言Merci
坦率
使用bash,在最简单的情况下,如果您知道要获取的是日期戳,则可以使用shell扩展
#!/bin/bash
for file in 20[0-9][0-9].[01][0-9].[0-9][0-9]*tgz
do
echo $file
done
否则,如果它在第一个字母之前
for file in *tgz
do
echo ${file%%[a-zA-Z]*}
done
否则,您应该阐明搜索条件。
FILE=2010.01.12myfile.tgz
echo ${FILE:0:10}
给
2010.01.12
#!/bin/sh
a="2010.04.18Myfile.tgz"
echo ${a%%+([a-zA-Z.])}
bash的regexp非常强大(至少与标准sh或command.com:-相比)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.