bash脚本。我怎样才能得到一个简单的while循环要经过下面内容的文件,并剥离出在T所有的字符(包括T)使用的sedbash脚本去除一些字符
"2012-05-04T10:16:04Z"
"2012-04-05T15:27:40Z"
"2012-03-05T14:58:27Z"
"2011-11-29T15:04:09Z"
"2011-11-16T12:12:00Z"
感谢
bash脚本。我怎样才能得到一个简单的while循环要经过下面内容的文件,并剥离出在T所有的字符(包括T)使用的sedbash脚本去除一些字符
"2012-05-04T10:16:04Z"
"2012-04-05T15:27:40Z"
"2012-03-05T14:58:27Z"
"2011-11-29T15:04:09Z"
"2011-11-16T12:12:00Z"
感谢
通过战略经济对话
sed 's/"\|T.*//g' file
"
相配的双引号\|
或T.*
从第一个T
开始匹配所有字符到最后一个。用空字符串替换匹配的字符会给你所需的输出。
实施例:
$ echo '"2012-05-04T10:16:04Z"' | sed 's/"\|T.*//g'
2012-05-04
简单awk命令做到这一点:
awk -F '["T]' '{print $2}' file
2012-05-04
2012-04-05
2012-03-05
2011-11-29
2011-11-16
在bash内建的:
while IFS='T"' read -r a a b; do echo "$a"; done < filename
输出:
2012-05-04 2012-04-05 2012-03-05 2011-11-29 2011-11-16
谢谢....工作但只有一件事。仍然有最初的“从现在开始尝试 – del 2014-12-07 15:56:48
,....... – 2014-12-07 15:59:25
你可以同样删除”出来的结果文本。为了达到这个目的,在“T”之前知道你是否希望其他人“现在在场”可能很有趣。我知道所显示的代码没有。 – tvCa 2014-12-07 15:59:42