I am trying to write a Bash shell script, which is a fixed file CATALOG.dat
Opens the following lines, which are made of both letters and numbers:
event_0133_pk.gz event_0291_pk.gz event_0298_pk.gz event_0356_pk.gz event_0501_pk.gz event_0501_pk.gz
What I want to do is print numbers (numbers only) inside a new file, using something like NUMBERS.dat
& gt; ./NUMBERS.dat
, to get:
0133 02 9 02 02 0356 0501
My problem is: I have numbers How to remove text lines? Can the script be read only in the form of a number of variables, such as event_0% d_pk.gz
C / C ++?
a grep
solution:
Grep -oP '[0-9] +' CATALOG.dat & gt; Number.dat
a sed
solution:
sed 's / [^ 0- 9] // g' catalog Dat & gt; NUMBERS.dat
and a awk
solution:
awk -F "[^ 0-9] +" '{ Print $ 2} 'CATALOG.dat & gt; NUMBERS.dat
Comments
Post a Comment