我有一个单行文本文件,其中的字符串用引号括起来,并用逗号分隔,如
unsorted.txt
“简”, “BOB”, “TIM”, “哈里”
如何使用bash按字母顺序对项目进行排序,我想保存到 sorted.txt
“BOB”, “哈里”, “简”, “TIM”
我试过这个,它只对行进行排序,但只有一行。
sort -t,unsorted.txt> sorted.txt
我该怎么做?
答案 0 :(得分:2)
使用Perl:
def parse(self, response):
for href in response.css('.mask-on-hover + a::attr(href)'):
yield response.follow(href, self.parse_author)
def parse_author(self, response):
def extract_with_css(query):
return response.css(query).extract()
yield {
'role': extract_with_css('h1::text'),
'literature': extract_with_css('h3 span.info::text'),
'date-posted': extract_with_css('h3 span#ctl00_spListed.info.listed::text'),
'role-description': extract_with_css('#ctl00_regionContent_lblJobDescription span , strong::text'),}
输出:
"BOB","HARRY","JANE","TIM"
答案 1 :(得分:2)
没有perl:
formset <django.forms.formsets.ContentLineConfigFormFormSet object at 0x10821e3d0>
kwargs {'pk': u'1'}
首先,将逗号转换为换行符,使用换行符进行排序,转换回逗号,然后使用sed删除最后一行的逗号。
答案 2 :(得分:0)
awk
awk -F, '{split($0,a); asort(a); for(i=1;i<=NF;i++) printf "%s", a[i] (i==n?ORS:FS)}'
答案 3 :(得分:0)
另一个使用bash + sort
echo '"JANE","BOB","TIM","HARRY"'|while IFS=',' read -a l;do g=$(printf "%s\n" ${l[*]}|sort);echo ${g//$'\n'/","}; done