Je veux supprimer tous les espaces blancs d'un fichier texte donné. Existe-t-il une commande Shell disponible pour cela? Ou, comment utiliser sed
à cette fin.
Je veux quelque chose comme ci-dessous:
$ chat hello.txt | sed ....
J'ai essayé ceci: cat hello.txt | sed 's/ //g'
. Mais il ne supprime que les espaces, pas les onglets.
$ man tr
NAME
tr - translate or delete characters
SYNOPSIS
tr [OPTION]... SET1 [SET2]
DESCRIPTION
Translate, squeeze, and/or delete characters from standard
input, writing to standard output.
Pour effacer tous les espaces, y compris les nouvelles lignes, vous pouvez essayer:
cat file.txt | tr -d " \t\n\r"
Vous pouvez également utiliser les classes de caractères définies par tr (crédits de htompkins comment):
cat file.txt | tr -d "[:space:]"
Par exemple, pour effacer uniquement les espaces blancs horizontaux:
cat file.txt | tr -d "[:blank:]"
Beaucoup plus simple à mon avis:
sed -r 's/\s+//g' filename
Je pense que vous pouvez utiliser sed pour effacer l’espace sans perdre des informations telles que changer de En une autre ligne.
cat hello.txt | sed '/^$/d;s/[[:blank:]]//g'
Si vous souhaitez supprimerTOUSespaces, même les nouvelles lignes:
Perl -pe 's/\s+//g' file
Mec, Juste python test.py dans votre terminal.
f = open('/home/hduser/Desktop/data.csv' , 'r')
x = f.read().split()
f.close()
y = ' '.join(x)
f = open('/home/hduser/Desktop/data.csv','w')
f.write(y)
f.close()
Essaye ça:
sed -e 's/[\t ]//g;/^$/d'
(trouvé ici )
La première partie supprime tous les onglets (\t
) et les espaces, et la deuxième partie supprime toutes les lignes vides
Essaye ça:
tr -d " \t" <filename
Voir la page de manuel tr (1) pour plus de détails.
C'est probablement la manière la plus simple de le faire:
sed -r 's/\s+//g' filename > output
mv ouput filename
Le moyen le plus simple pour moi ->
echo "Hello my name is Donald" | sed s/\ //g
hmm ... semble que quelque chose de l'ordre de sed -e "s/[ \t\n\r\v]//g" < hello.txt
devrait être dans le bon stade (semble fonctionner sous cygwin dans tous les cas).
Cette réponse est semblable à d’autres, cependant, certaines personnes se plaignant que la sortie est dirigée vers STDOUT, je vais simplement suggérer de la rediriger vers le fichier d’origine et de l’écraser. Je ne suggérerais jamais cela normalement, mais parfois des travaux rapides et sales.
cat file.txt | tr -d " \t\n\r" > file.txt