使用 Linux 命令行实用程序在 stdin 上读取的每一行打印特定范围的字符的最直接的方法是什么?
例如,对于此输入文件:
1234567890
0987654321
它的工作原理如下:
> cat input_file | foo 3-6
3456
8765
答案1
回答了我自己的问题......这比我想象的要容易得多:
cut -c 3-6
答案2
shell cut-打印特定范围的字符或字符串中的给定部分
#方法 1) 使用 bash
str=2020-08-08T07:40:00.000Z
echo ${str:11:8}
#方法2)使用 cut
str=2020-08-08T07:40:00.000Z
cut -c12-19 <<< $str
#方法3) 使用 awk 时
str=2020-08-08T07:40:00.000Z
awk '{time=gensub(/.{11}(.{8}).*/,"\\1","g",$1); print time}' <<< $str