我有一个名为“polls.csv”的文件,我必须使用cat命令返回某个部分。该文件的每一行如下所示: 犹他州,5,27,64,4,9月13日,,,,,,, 5,美国Res。组
以下是cat输出的示例: http://i.imgur.com/XBuJ5kL.png
我如何运行cat命令,并且只返回每个行的示例行中的轮询组织“American Res.Group”。 我假设它看起来类似于: cat polls.csv / ^ [] $ /
另外,我怎么能计算不同民意调查机构的总数呢?
答案 0 :(得分:1)
我认为cat
命令不会单独完成工作。我想你应该看看gnu core utils包,你会发现很多工具:http://www.gnu.org/software/coreutils/manual/html_node/index.html
一种简单的方法是:
cat polls.csv |sed -s "s/.*,//"
sed -s“s /.*,//”将最后一个逗号之前的所有内容替换为空,从而离开了民意调查组织。
对于第二个问题,您可以继续使用sort -u
,它将对此进行排序,然后wc -l
进行计数,例如:
cat polls.csv|sed -s "s/.*,//"|sort -u|wc -l
对于辅音检查,它是一个单独的问题定义。有很多方法可以检查它。这是我的方式:
# /bin/python
import sys
import re
consonants = "bcdfghjklmnpqrstvwxyz"
def count_consonants(word):
count = 0
for x in word:
if x in consonants:
count += 1
return count
while True:
line = sys.stdin.readline()
if line:
line = line.rstrip()
line = re.sub(" +", " ", line)
words = line.split(" ")
for w in words:
c = count_consonants(w)
if c >= 6:
print w
else:
break
请将其保存为script.py
,然后执行:
cat polls.csv|sed -s "s/.*,//"|sort -u|python script.py
或
cat words|python script.py
答案 1 :(得分:0)
哦,我误解了你的要求。试试这个:
awk -F, '{print $NF}' polls.csv