2013-05-24 3 views
1

Je voudrais tourner "{something: here}" en "[{something: here}]"Wrap STDIN avec des personnages

Par exemple:

$ echo "{something: here}" | magic_command 
$ [{something: here}] 

Je veux tout faire dans le cadre d'une fête à l'aide d'une doublure STDIN.

Semble assez simple. Des idées? Je dessine un blanc :(

Répondre

4

Ajouter une paire de crochets autour de tout:

echo "{something: here}" | echo "[$(cat)]" 

Entoure chaque ligne séparément:

echo "{something: here}" | awk '{print "[" $0 "]"}' 
+0

Parfait, merci! –

+1

@john, je ne savais pas que je pouvais utiliser cat pour copier l'entrée standard à la sortie standard. Merci. – nsd

2

Vous pouvez essayer avec sed:

echo "{something: here}" | sed 's/\(.*\)/[\1]/' 
1

en bash:

var="{something: here}"; 
printf "[%s]\n" "$var" 
+0

+1 pour pointer printf. Avec printf, il est plus facile d'écrire du code bash lisible. – mogul

0

Pour ceux qui utilisent le noeud, il y a cmd-wrap util:

echo <string> | wrap <prefix> <suffix> 

Exemple:

cat index.js | wrap ';(function($){' '})();' 
Questions connexes