Grep 字符串中的第一个字符

Grep 字符串中的第一个字符
10:30:01
10:35:01

有一次在一种格式中,我想 grep:

  • 案例 1:10 中的 1
  • Case2: 3 from 30 输出为
1
3
0

22年10月17日日期格式为我想要 grep 的格式10,17 号,22,分别。

输出为:

10 
17
22

使用 grep 或 awk 可以吗?

答案1

澄清问题会有所帮助,但这里有一些可能有用的东西:

使用 awk 打印特定字符(第一个、第四个和第七个):

$ echo "10:30:01" | awk '{print substr($1,1,1)"\n"substr($1,4,1)"\n"substr($1,7,1)}'
1
3
0
$

将 '-' 换行符替换为 tr :

$ echo 10-17-22 | tr '-' '\n'
10
17
22
$

Grep 仅两个连续数字:

$ echo 10-17-22 | grep -oP '[0-9]{2}'
10
17
22
$

答案2

echo "10:30:01"|sed "s/:/\n/g"| awk '{print substr($1,1,1)}'
output
1
3
0
echo "10-17-22" | awk -F "-" 'OFS="\n"{print $1,$2,$3}'

输出

10
17
22

相关内容