Compte tenu du format de la question, il y a deux façons de procéder :
sed 's/.*#\(.*\))/\1/' file
Cela imprimera tout ce qui se trouve entre #
et tout ce qui le précède, ce qui, dans ce cas, est (
y )
.
Cela peut également être fait :
sed -e 's|^(#||g' -e 's|)$||g' file
Cela supprimera (#
à partir du début de la chaîne et )
de la fin.
Sortie :
1111111
4444444
Si c'est un fichier, alors vous pouvez ajouter -i
après sed pour l'éditer en place. Pour le stdout, mettez la commande qui le fournit dans sed
.
S'il s'agit d'un fichier ou d'une autre sortie et qu'il y a des différences, alors vous devrez ajuster les commandes. Je n'opère que sur la base de ce que vous avez fourni dans la question.