Imran Shoaib wrote: > Thanks for the details, but what if information is to be read from file > and not from command line pattern?
Then read the data from the file instead of the command line. > For example from attached file we need to read characters 15 to 22 of > line 3 and use these characters only as input in any other file. Please > advise. For that specific case using 'awk' is easiest for me. In awk the FNR variable is "the input record number in the current input file" or the current line number. Use it to only take action on the 3rd line of the file. FNR == 3 Then the substr(s,i,n) function next seems easiest. The substr() function returns the substr from 's' starting at index position 'i' and containing at most 'n' characters. Since $0 is the current line string we use that. substr($0,15,8); # return characters 15 to 22 of the line. Then print the result. Putting that all together yieds this: $ printf "one\ntwo\nabcdefghijklmnopqrstuvwxyz\n" | awk 'FNR==3{print substr($0,15,8);}' opqrstuv The command line example was how I developed the case. Because then everything is contained in the example and it can be shared. You were asking how to read a file. Most utilities read files in the argument list. So to read a file simply place the file in the argument list. $ awk 'NR==3{print substr($0,15,8);}' /tmp/sample.txt DFLSDJF > This E-mail and any files transmitted with it are confidential and Please do not include such useless and annoying disclaimers in your email. The terms are incompatible with a free software mailing list. If you cannot avoid this because your company adds it for you then please use one of the many free email providers on the network when conversing on mailing lists. Those accounts are free and freely available and do not include such legal text. I am unlikely to respond to subsequent messages if they still include such legal text in the future. Bob