我有一些文件,每个文件都包含酒店的评论,我想写一个脚本来计算每个文件的评论数量。一个文件名的示例是hotel_73757
。每个文件中的文本布局如下:
<Overall Rating>3.5
<Avg. Price>$260
<URL>http://www.tripadvisor.com/ShowUserReviews-g31310-d73757-r23009196-Wyndham_Phoenix-Phoenix_Arizona.html
<Author>TexasSharvi
<Content>the new updo is ... it's great!
<Date>Dec 26, 2008
<No. Reader>-1
<No. Helpful>-1
<Overall>4
<Value>4
<Rooms>4
<Location>4
<Cleanliness>5
<Check in / front desk>5
<Service>-1
<Business service>4
<Author>ChrisLongo
<Content>Just Dirty... Will never stay at any Wyndham hotel again.
<Date>Dec 24, 2008
<No. Reader>1
<No. Helpful>1
<Overall>1
<Value>1
<Rooms>1
<Location>1
<Cleanliness>1
<Check in / front desk>1
<Service>1
<Business service>-1
然后在每次审核之间重复一行,每个评论都有相同的字段。我在考虑检查每个文件中出现“作者”的次数是否可行?提前致谢
答案 0 :(得分:1)
只需使用
grep -c "Author" yourFile
如果你真的想制作一个这样的剧本:
#!/bin/bash
################################################################################
# countreviews.sh
# Counts the number of times the word "<Author>" appears in the specified file.
################################################################################
grep -c "^<Author>" "$1"
使用以下内容使其可执行:
chmod +x countreviews.sh
运行它:
./countreviews.sh file
或
./countreviews.sh "file with space in name"
答案 1 :(得分:0)
您可以使用grep
和wc
来获取包含“作者”一词的行数出现在文件中:
grep Author fileName | wc -l
grep将仅过滤作者行,wc -l将对其进行计数