Bash脚本。如何使用简单的while循环来浏览具有以下内容的文件,并使用sed从T(包括T)中删除所有字符
"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"
由于
答案 0 :(得分:2)
通过sed,
sed 's/"\|T.*//g' file
"
匹配双引号\|
或T.*
从第一个T
开始匹配所有字符到最后一个。用空字符串替换匹配的字符将为您提供所需的输出。
示例:
$ echo '"2012-05-04T10:16:04Z"' | sed 's/"\|T.*//g'
2012-05-04
答案 1 :(得分:2)
执行此操作的简单awk命令:
awk -F '["T]' '{print $2}' file
2012-05-04
2012-04-05
2012-03-05
2011-11-29
2011-11-16
答案 2 :(得分:1)
使用bash builtins:
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