我的文字文件包含以下内容。
def check(string):
bv = 0
for s in string:
bv ^= 1 << ord(s)
return bv == 0 or bv & (bv - 1) == 0
我想解析文件并提取所有方案并放入列表中。 我怎样才能实现这个shell脚本?
答案 0 :(得分:0)
假设schemeNameX
列表后面会有换行符:
sed -n '/Schemes:/,/^$/p'
-n
标志禁用隐式输出,因此我们可以指定sed
仅在一个范围内打印。范围的开始由/Schemes:/
定义,它测试此文本出现在行的某处,而范围的结尾由/^$/
定义,它测试行是空的。
这也会返回Schemes:
行和一个尾随换行符,可以使用head
和tail
轻松删除。
答案 1 :(得分:0)
这是一个带有awk的单行解决方案。
awk 'p && NF {print;} /Schemes:/ {p=1}' NewFile1.txt
schemeName1
schemeName2
schemeName3
请。照顾&#34; awk vs sed&#34;在网上,你会发现在大多数情况下,awk会更方便而不是sed。