PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > comp.unix.shell > sed and Auuuugghh!!!!
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
comp.unix.shell Using and programming the Unix shell.

sed and Auuuugghh!!!!

Réponse
 
LinkBack Outils de la discussion
Vieux 02/12/2006, 03h05   #1
Joshua Whalen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut sed and Auuuugghh!!!!

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



  Réponse avec citation
Vieux 02/12/2006, 03h25   #2
Chris F.A. Johnson
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: sed and Auuuugghh!!!!

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
  Réponse avec citation
Vieux 02/12/2006, 07h26   #3
John W. Krahn
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: sed and Auuuugghh!!!!

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
  Réponse avec citation
Vieux 02/12/2006, 10h41   #4
Bo Yang
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: sed and Auuuugghh!!!!

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','
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 22h21.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,24189 seconds with 12 queries