J'ai un fichier avec le contenu suivant:
(((jfojfojeojfow
//
hellow_rld
(((jfojfojeojfow
//
hellow_rld
Comment extraire chaque ligne commençant par une parenthèse?
grep
sed
regex
text-processing
user3069326
la source
la source
Réponses:
Le symbole du début d'une ligne est
^
. Donc, pour imprimer toutes les lignes dont le premier caractère est un(
, vous voudriez faire correspondre^(
:grep
sed
la source
En utilisant
perl
Production:
Explication (partie regex)
/^\(/
^
affirmer la position au début de la chaîne\(
correspond(
littéralement au personnagela source
Voici
bash
une doublure:Ici, nous lisons chaque ligne d'entrée et si la ligne commence par
(
, la ligne est imprimée. Le test principal est effectué par[[ $i =~ ^\( ]]
.En utilisant
python
:Ici
line.startswith('(')
vérifie si la ligne commence par(
, si oui, alors la ligne est imprimée.la source
awk
awk '/^\(/' testfile.txt
Résultat
Python
En python one-liner:
Ou bien:
Look BSD
look
est l'un des utilitaires Unix classiques mais peu connus, qui est apparu très loin dans AT&T Unix version 7. Deman look
:Le résultat:
la source
Vous pouvez faire l'inverse.
ou
la source
Utilisez la commande grep pour cela. En supposant que le fichier avec le contenu mentionné s'appelle t.txt:
Avec '--color' comme argument supplémentaire, vous pouvez même voir en couleur dans le terminal ce qui correspond. Cette instruction ne correspond pas non plus aux lignes vides.
la source
(
, pas seulement celles qui commencent par un.