|
|
|
|
||||||
| comp.unix.shell Using and programming the Unix shell. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Here's one that I'm almost certain will
result in my having to scrape egg off my face for an age, because I'm sure the answer is trivially obvious, and I'm just too stressed out and deadlined in to see it. Here goes: I'm trying to write a program to manage a mailing list. The mailing list uses carriage returns as delimiters, but the user's computer uses quotes and commas. So I'm trying to change this: bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org casmad@scadam.net bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org casmad@scadam.net bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org into this: "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net" the script I'm using looks like this: #!/bin/sh sed 'N;s/\n/", "/;P;D;' ~/Desktop/bogus.list >~/Desktop/output.list and produces this: bogus@sugob.net", "sugob@bogus.net gusbog@obsug.com", "gobsu@subog.edu gobus@subgo.org", "spambot@sleazebag.com tobmaps@gabezaels.net", "botsmap@gabaelzes.org scamad@madcas.com", "damcas@sacdam.org casmad@scadam.net", "bogus@sugob.net sugob@bogus.net", "gusbog@obsug.com gobsu@subog.edu", "gobus@subgo.org spambot@sleazebag.com", "tobmaps@gabezaels.net botsmap@gabaelzes.org", "scamad@madcas.com damcas@sacdam.org", "casmad@scadam.net bogus@sugob.net", "sugob@bogus.net gusbog@obsug.com", "gobsu@subog.edu gobus@subgo.org", "spambot@sleazebag.com tobmaps@gabezaels.net", "botsmap@gabaelzes.org scamad@madcas.com", "damcas@sacdam.org casmad@scadam.net", "bogus@sugob.net sugob@bogus.net", "gusbog@obsug.com gobsu@subog.edu", "gobus@subgo.org spambot@sleazebag.com", "tobmaps@gabezaels.net botsmap@gabaelzes.org", "scamad@madcas.com damcas@sacdam.org", "casmad@scadam.net what exactly am I doing wrong, and how can I fix it? thanks in advance. call me if you ever need with applescript. Joshua |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On 2006-12-02, Joshua Whalen wrote:
> Here's one that I'm almost certain will > result in my having to scrape egg off my > face for an age, because I'm sure the > answer is trivially obvious, and I'm just > too stressed out and deadlined in to see it. > Here goes: > > I'm trying to write a program to manage a > mailing list. The mailing list uses carriage > returns as delimiters, but the user's computer > uses quotes and commas. So I'm trying to change > this: > > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > casmad@scadam.net > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > casmad@scadam.net > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > > > into this: > > "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net" > > the script I'm using looks like this: > > #!/bin/sh > sed 'N;s/\n/", "/;P;D;' ~/Desktop/bogus.list >~/Desktop/output.list > > and produces this: > > bogus@sugob.net", "sugob@bogus.net .... > gobsu@subog.edu", "gobus@subgo.org > spambot@sleazebag.com", "tobmaps@gabezaels.net > botsmap@gabaelzes.org", "scamad@madcas.com > damcas@sacdam.org", "casmad@scadam.net > > > what exactly am I doing wrong, and how can I fix it? awk 'NR > 1 { printf "," } { printf "\"%s\"", $0 } END { print "" } ' "$HOME/Desktop/bogus.list" > "$HOME/Desktop/output.list" -- Chris F.A. Johnson, author <http://cfaj.freeshell.org/shell> Shell Scripting Recipes: A Problem-Solution Approach (2005, Apress) ===== My code in this post, if any, assumes the POSIX locale ===== and is released under the GNU General Public Licence |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Joshua Whalen wrote:
> Here's one that I'm almost certain will result in my having to scrape egg off my > face for an age, because I'm sure the answer is trivially obvious, and I'm just > too stressed out and deadlined in to see it. > Here goes: > > I'm trying to write a program to manage a mailing list. The mailing list uses carriage > returns as delimiters, but the user's computer uses quotes and commas. So I'm trying > to change this: > > bogus@sugob.net [ snip ] > damcas@sacdam.org > > > into this: > > "bogus@sugob.net", [ snip ], "casmad@scadam.net" $ echo "bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org casmad@scadam.net bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org casmad@scadam.net bogus@sugob.net sugob@bogus.net gusbog@obsug.com gobsu@subog.edu gobus@subgo.org spambot@sleazebag.com tobmaps@gabezaels.net botsmap@gabaelzes.org scamad@madcas.com damcas@sacdam.org" | \ perl -la0777ne'print join ", ", map qq["$_"], @F' "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org" John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Joshua Whalen :
> Here's one that I'm almost certain will > result in my having to scrape egg off my > face for an age, because I'm sure the > answer is trivially obvious, and I'm just > too stressed out and deadlined in to see it. > Here goes: > > I'm trying to write a program to manage a > mailing list. The mailing list uses carriage > returns as delimiters, but the user's computer > uses quotes and commas. So I'm trying to change > this: > > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > casmad@scadam.net > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > casmad@scadam.net > bogus@sugob.net > sugob@bogus.net > gusbog@obsug.com > gobsu@subog.edu > gobus@subgo.org > spambot@sleazebag.com > tobmaps@gabezaels.net > botsmap@gabaelzes.org > scamad@madcas.com > damcas@sacdam.org > > > into this: > > "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net", "bogus@sugob.net", "sugob@bogus.net", "gusbog@obsug.com", "gobsu@subog.edu", "gobus@subgo.org", "spambot@sleazebag.com", "tobmaps@gabezaels.net", "botsmap@gabaelzes.org", "scamad@madcas.com", "damcas@sacdam.org", "casmad@scadam.net" > > the script I'm using looks like this: > > #!/bin/sh > sed 'N;s/\n/", "/;P;D;' ~/Desktop/bogus.list >~/Desktop/output.list > > and produces this: > > bogus@sugob.net", "sugob@bogus.net > gusbog@obsug.com", "gobsu@subog.edu > gobus@subgo.org", "spambot@sleazebag.com > tobmaps@gabezaels.net", "botsmap@gabaelzes.org > scamad@madcas.com", "damcas@sacdam.org > casmad@scadam.net", "bogus@sugob.net > sugob@bogus.net", "gusbog@obsug.com > gobsu@subog.edu", "gobus@subgo.org > spambot@sleazebag.com", "tobmaps@gabezaels.net > botsmap@gabaelzes.org", "scamad@madcas.com > damcas@sacdam.org", "casmad@scadam.net > bogus@sugob.net", "sugob@bogus.net > gusbog@obsug.com", "gobsu@subog.edu > gobus@subgo.org", "spambot@sleazebag.com > tobmaps@gabezaels.net", "botsmap@gabaelzes.org > scamad@madcas.com", "damcas@sacdam.org > casmad@scadam.net", "bogus@sugob.net > sugob@bogus.net", "gusbog@obsug.com > gobsu@subog.edu", "gobus@subgo.org > spambot@sleazebag.com", "tobmaps@gabezaels.net > botsmap@gabaelzes.org", "scamad@madcas.com > damcas@sacdam.org", "casmad@scadam.net > > > what exactly am I doing wrong, and how can I fix it? > > thanks in advance. call me if you ever need with applescript. > > Joshua I didn't know how to use sed to accomplish this, but I think paste can do it echo 'afd@fda.com fdaf@fdas.cn dfdf@fdafd.com' | paste -sd',' |
|
![]() |
| Outils de la discussion | |
|
|