Comment utiliser le couper avec de multiples caractère délimiteur? unix
Mon fichier ressemble à ceci
abc ||| xyz ||| foo bar
hello world ||| spam ham jam ||| blah blah
Je veux extraire une colonne spécifique, par exemple, j'aurais pu faire:
sed 's/\s|||\s/\\t/g' file | cut -f1
Mais il ya d'autres façon de le faire?
Est-ce ce que vous recherchez? Comment faire de la "coupure" de la commande traiter plusieurs séquentielle délimiteurs comme un?
Dieu vous bénisse pour cette question.
Dieu vous bénisse pour cette question.
OriginalL'auteur alvas | 2014-08-22
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire ceci:
{print $1}
?Une ventilation en expliquant comment elle fonctionne, ce serait bien. En particulier, il serait bien de préciser qu'il est le
$1
qui doit être modifié pour obtenir une autre colonne.Le
$0
détient la totalité de la ligne, de sorte$0=$1
remplace la ligne avec le premier champ. Le1
(tout ce qui est évaluée à true) après{}
causes de la ligne à imprimer.J'ai eu à faire
awk -F ' \\|\\|\\| ' '{print $1}'
OriginalL'auteur Jotne
Vous pouvez utiliser awk -
Remplacer $1 à $2, $3, etc.
awk: cmd. line:1: warning: escape sequence
\|' traités comme de simples `|'OriginalL'auteur xitkov