J'ai un fichier qui contient des données, y compris des URL. Mais il existe différentes lignes qui ne sont pas des URL. Comment puis-je les supprimer à l'aide des commandes du terminal Ubuntu?
Voici l'exemple de fichier pour référence: Sample Data
com.blendtuts/S
°=
com.blengineering.www/:http
±=
Je veux avoir la sortie:
com.blendtuts/S
com.blengineering.www/:http
Les lignes supplémentaires indésirables n'ont pas de point. Par conséquent, je veux supprimer les lignes sans points
la source
awk '/\./' file
- c'est-à-dire, d'imprimer uniquement les lignes contenant le caractère '.'.grep
déjà suggéré, j'ai préféré aller avec desawk
trucs spécifiques :)Utilisation de perl:
la source
Vous pouvez le faire assez facilement avec vim. Si vous êtes à l'aise d'utiliser vim comme éditeur de texte (ouverture, modification et écriture de fichiers), procédez comme suit:
Si vous n'êtes pas à l'aise avec vim, ou si vous préférez l'utiliser comme outil de ligne de commande, vous pouvez simplement le faire depuis le terminal:
Vous pouvez légèrement modifier cela pour enregistrer dans un nouveau fichier:
Cela utilise la commande "globale" de vim, qui applique une commande ex à chaque ligne correspondant (ou ne correspondant pas) à une expression régulière. Dans ce cas, la commande est "(d) elete", et elle sera appliquée à chaque commande ne correspondant pas à l'expression régulière
\.
la source