J’ai un fichier comme ci-dessous.
Hi this is first line this is second line this is third line
Attendu est:
Hi this is first line this is second line this is third line
Ce que j’ai utilisé est
cat file.txt | sed 's/ //g'
résultats,
Hi this is first line this is second line this is third line
Pour une commande sed portable, utilisez ceci:
sed 's/^[[:blank:]]*//' file
[[:blank:]]
correspond à un espace ou à une tabulation.
EDIT: Pour supprimer tous les espaces en utilisant awk:
awk '{$1=$1}1' OFS= file
OU sed:
sed 's/[[:blank:]]*//g' file
sed
dans votre exemple remplacera tous les espaces
sed 's/^[ \t]*//' file.txt
cat file.txt | sed -e 's/^[ \t]*//'
OU
sed 's/^[ \t]*//' file.txt
OU si vous souhaitez modifier file.txt et supprimer les espaces blancs au début de la ligne:
sed -i 's/^[ \t]*//' file.txt
essayez cette ligne
sed -r 's/^\s*//' file
pour supprimer tous les espaces (tabs): sed -r 's/\s//g' file
kent$ echo "Hi this is first line this is second line this is third line"|sed -r 's/\s//g' Hithisisfirstline thisissecondline thisisthirdline
Le moyen le plus efficace de supprimer tous les espaces de votre saisie n’est probablement pas d’utiliser sed
, mais
tr -d '[:blank:]' < file.txt
C'est différent de ce que vous aviez demandé à l'origine (supprimer uniquement les espaces blancs).