[ale] swap 2 fields (in a tabbed file)?

Christopher Bergeron christopher at bergeron.com
Wed Jan 29 15:34:51 EST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
 
AHA!  I figured it out!  It turns out that the came from that
blasphemous Microsoft world where CR/LFs are all screwed up.  I ran
dos2unix on the file; and then ran your original awk posting, and it
worked perfectly!  Now I can proceed!

Thanks Geoffrey!





Geoffrey wrote:

| The attached file did not have any ^M.  I ran the script on my box and
| it worked fine. If it is a true ^M, awk takes it as part of the field
| it follows. I added ^M to the file and was able to get it to work
| properly like this:
|
|
| awk -F '[\t^M]' '{printf "%s\t%s\n", $2, $1}' list.txt
|
| Basically you're telling awk that there are two possible delimiters a
| tab and a ^M.
|
| Christopher Bergeron wrote:
|
|> Ok, a sample of the data is attached. I need to sort by the
|> alphabetical name of the second field I can do this easily using sort
|> if I can swap the fields from:
|>
|> X\tY\n
|> to:
|> Y\tX\n
|>
|> Your awk script worked, but it considered the ^M as a field it looks
|> like because it produced:
|> Y\nX\t
|>
|> So i have a feeling we're very close. To the others that offered
|> suggestions, I appreciate it. I'm partial to learning awk so for this
|> run, i'm going to use it.
|>
|>
|> Thanks,
|> CB
|>
|>
|>
|>
|>
|> Geoffrey wrote:
|>
|>> Might you post one line of input to the list as an attachment? I
|>> (and I think others) are having a hard time determining the actual
|>> format. When you start dealing with funky (technical term) character
|>> combos, like carriage return and newline, perl is likely to be the
|>> easiest solution.
|>>
|>>
|>> Christopher Bergeron wrote:
|>>
|>>> -----BEGIN PGP SIGNED MESSAGE-----
|>>> Hash: SHA1
|>>>
|>>> Thanks Geoffrey! I think I've almost got it, but my output is
|>>> appearing
|>>> like this:
|>>>
|>>> GE CAPITAL CONSUMER LEND\n\tAFS74
|>>> GEWARDS\n\tAFS75
|>>>
|>>> Instead of:
|>>> GE CAPITAL CONSUMER LEND\tAFS74\n
|>>> GEWARDS\tAFS75\n
|>>>
|>>> I have a feeling it's a simple change, but since I'm new to awk I'm a
|>>> slow learner...
|>>>
|>>> Thanks again for any leads,
|>>> - -CB
|>>>
|>>>
|>>> Geoffrey wrote:
|>>>
|>>> | Use awk:
|>>> |
|>>> | awk -F '\t' '{printf "%s\t%s\n", $2, $1}'
|>>> |
|>>> | Christopher Bergeron wrote:
|>>> |
|>>> |> -----BEGIN PGP SIGNED MESSAGE-----
|>>> |> Hash: SHA1
|>>> |>
|>>> |> Does anyone know how I can swap 2 fields in a tab delimited file
|>>> |> containing 2 fields?
|>>> |>
|>>> |> Here's an example of my data:
|>>> |> ~ <TAB>WOODSTOCK OUTLET<CR>
|>>> |> AF100<TAB>METRO AUDIO DYNAMI<CR>
|>>> |>
|>>> |> What I'd like to do is swap the 2 fields (or do a `sort` based
|>>> on the
|>>> |> second field!) such that I end up with this:
|>>> |> WOODSTOCK OUTLET<TAB> <CR>
|>>> |> METRO AUDIO DYNAMICS<TAB>AF100<CR>
|>>> |>
|>>> |> Does anyone know of a way I can accomplish this? I tried using cut
|>>> |> - -f2,1 -d"\t" but no adeu...
|>>> |>
|>>> |> As always, much thanks in advance!
|>>> |> - -CB
|>>> |> -----BEGIN PGP SIGNATURE-----
|>>> |> Version: GnuPG v1.2.1 (MingW32)
|>>> |> Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org
|>>> |>
|>>> |> iD8DBQE+OBDCTKCy0t3zQgURAjNTAJ4+scGLwJ68zyWNCQi3zOioVQHYSgCgsbsd
|>>> |> OQXrEikvL57cV8/Tj1vuqLg=
|>>> |> =3GQm
|>>> |> -----END PGP SIGNATURE-----
|>>> |>
|>>> |>
|>>> |> _______________________________________________
|>>> |> Ale mailing list
|>>> |> Ale at ale.org
|>>> |> http://www.ale.org/mailman/listinfo/ale
|>>> |>
|>>> |>
|>>> |
|>>> -----BEGIN PGP SIGNATURE-----
|>>> Version: GnuPG v1.2.1 (MingW32)
|>>> Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org
|>>>
|>>> iD8DBQE+OBtfTKCy0t3zQgURAghVAKDGTNNK40g+4Jdl39eDsVPAeAgiZQCdF4Gg
|>>> kncmOklKRZ00rGmPskLaj5Y=
|>>> =577v
|>>> -----END PGP SIGNATURE-----
|>>>
|>>>
|>>> _______________________________________________
|>>> Ale mailing list
|>>> Ale at ale.org
|>>> http://www.ale.org/mailman/listinfo/ale
|>>>
|>>>
|>>
|>
|>
|> ------------------------------------------------------------------------
|>
|>      VAN DRIE HOME FURNISH
|>      VANNS APPLIANCE
|>      WCI VIKING/WHITE
|>      WILSON'S HOME CENTER
|>      WOODSTOCK OUTLET
|> AF100    METRO AUDIO DYNAMI
|> AF101    MOHAWK- INDUSTRIES
|> AF101    MOHAWK-INDUSTRIES
|> AF102    MONTGOMERY WARDS
|> AF102    MONTGOMERY WARDS
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org
 
iD8DBQE+ODrqTKCy0t3zQgURAp0mAKDUyfnVYG/i3fxIETUr32T9KSpeIgCgvhkD
ZWkk5QkD3HVCdDNDJnmLqlw=
=k0YZ
-----END PGP SIGNATURE-----


_______________________________________________
Ale mailing list
Ale at ale.org
http://www.ale.org/mailman/listinfo/ale






More information about the Ale mailing list