Input file:
$ cat file.txt
sldadop233masdsa213313131ada121
sltadop233masdsa813313133cso128
slyadop233masdsa11331313Kada134
slqadop233masdsa31331313tada162
Required: Print last 6 characters of each line of the above input file.
The python script:
$ cat extract-last.py
import sys
for line in sys.stdin:
print '%s' % (line[-7:-1])
Executing it:
$ python extract-last.py < file.txt
ada121
cso128
ada134
ada162
Things to learn:
- How to read a file in python from stdin
Other alternatives in UNIX are:
#Using bash parameter substitution
$ while read line ; do echo ${line: -6}; done < file.txt
#Since all lines are of fixed length, we can use 'cut' command
$ cut -c26-31 file.txt
#Using sed
$ sed 's/^.*\(......\)$/\1/' file.txt
#Using awk
$ awk '{ print substr( $0, length($0) - 5, length($0) ) }' file.txt
0 Comments:
Post a Comment