gawk - v. <= 4.1.0 sed - v. whatever I have a file, 'tempx.txt' containing (for simplicity - some "so" files from my '/usr/lib/'),
[]$ cat tempx.txt libexpect5.43.so libsndfile.so.1.0.25 libsoftokn3.so libsoup-2.4.so.1.5.0 and I would like to separate their "roots" from the rest, i.e., "libsndfile.so.1.0.25" --> "libsndfile", etc. so I (instinctively) try: []$ cat tempx.txt | awk 'BEGIN {FS=".so"} ; {print $1}' libexpect5.43 libsndfile li li then this (to show off I know a thing or two about escapes): [/usr/lib]$ cat tempx.txt | awk 'BEGIN {FS="\.so"} ; {print $1}' awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.' libexpect5.43 libsndfile li li Terrible. Surprisingly, this ugly hack (bringing 'sed' into the picture) accomplishes what I intended. First, to test the waters, []$ sed -e 's/\.so/YYY/' tempx.txt libexpect5.43YYY libsndfileYYY.1.0.25 libsoftokn3YYY libsoup-2.4YYY.1.5.0 then, finally, []$ sed -e 's/\.so/YYY/' tempx.txt | awk 'BEGIN {FS="YYY"} ; {print $1}' libexpect5.43 libsndfile libsoftokn3 libsoup-2.4 Is there a problem with GNU gawk and/or my system or maybe with me? Thanks, -- Alex
-- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page