7

What is the most straightforward way, using Linux command line utilities, to print a specific range of characters for each line read on stdin?

For example, for this input file:

1234567890
0987654321

It should work as follows:

> cat input_file | foo 3-6
3456
8765
jrdioko
  • 13,195

2 Answers2

7

Answered my own question... that was much easier than I thought:

cut -c 3-6
jrdioko
  • 13,195
0

shell cut - print specific range of characters or given part from a string

#method1) using bash

 str=2020-08-08T07:40:00.000Z
 echo ${str:11:8}

#method2) using cut

 str=2020-08-08T07:40:00.000Z
 cut -c12-19 <<< $str

#method3) when working with awk

 str=2020-08-08T07:40:00.000Z
 awk '{time=gensub(/.{11}(.{8}).*/,"\\1","g",$1); print time}' <<< $str
hankyo
  • 101