How to get the first column of every line from a CSV file?

一个人想着一个人 提交于 2019-11-27 13:30:05

问题


How do get the first column of every line in an input CSV file and output to a new file? I am thinking using awk but not sure how.


回答1:


Try this:

 awk -F"," '{print $1}' data.txt

It will split each input line in the file data.txt into different fields based on , character (as specified with the -F) and print the first field (column) to stdout.




回答2:


Can be done:

$ cut -d, -f1 data.txt



回答3:


echo "a,b,c" | cut -d',' -f1 > newFile



回答4:


Input

a,12,34
b,23,56

Code

awk -F "," '{print $1}' Input

Format

awk -F <delimiter> '{print $<column_number>}' Input



回答5:


This can be achieved using grep:

$ grep -o '^[^,]\+' file.csv



回答6:


Using Perl:

perl -F, -lane 'print $F[0]' data.txt > data2.txt

These command-line options are used:

  • -n loop around every line of the input file
  • -l removes newlines before processing, and adds them back in afterwards
  • -a autosplit mode – split input lines into the @F array. Defaults to splitting on whitespace.
  • -e execute the perl code
  • -F autosplit modifier, in this case splits on ,

If you want to modify your original file in-place, use the -i option:

perl -i -lane 'print $F[0]' data.txt


If you want to modify your original file in-place and make a backup copy:

perl -i.bak -lane 'print $F[0]' data.txt


If your data is whitespace separated rather than comma-separated:

perl -lane 'print $F[0]' data.txt



来源:https://stackoverflow.com/questions/11668621/how-to-get-the-first-column-of-every-line-from-a-csv-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!