J'ai un fichier CSV comme ceci: où la date est une colonne entière.
Comment puis-je supprimer toute la partie "heure de la lumière du jour de l'Est" de la chaîne avec AWK? P> P>
4 Réponses :
Vous voulez donc seulement la 1ère et la 2ème colonne? Si oui
En fait, la date est tout dans une colonne. Le fichier comporte deux colonnes totales, alors j'ai besoin de "filtrer" cette deuxième colonne.
S'il s'agit d'un CSV, séparé par des virgules, vous voulez probablement 1 $ "," 2 $ mais oui. +1.
Basé sur votre commentaire dans la réponse de Piotrsz, c'est ainsi que vous pouvez supprimer la partie EDT:
awk '{gsub("Eastern Daylight Time", "");print}' file.csv
Ça ressemble à ça. J'étais juste au milieu de demander à Dcrawmer de remplacer ses virgules dans les données pour être sûr.
Je ne sais pas Awk, mais une version SED serait
sed "s/ Eastern Daylight Time//" file.csv
Ceci suit ma règle générale d'essayer d'abord SED, puis awk, puis une langue compilée complète.
Utiliser uniquement la coque
while read -r line do case "$line" in *Eastern* ) echo "${line%%Eastern*}" ;; *) echo "${line}" esac done < "file"