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
0

2 Answers 2

6

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

cut -c 3-6
0
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.