我有一个名为sign的char变量和一个给定的字符串sub。我需要找出这个sign在sub中出现了多少次,并且不能使用grep。
例如:
sign = c
sub = mechanic cup cat
echo "$sub" | awk <code i am asking for> | wc -l
因为c出现了4次,所以输出应该是4。<>内部应该是什么?
您知道在没有使用rev的情况下,使用sed或Bash替换正则表达式匹配的最后一次出现的更好或更容易的方法吗?
这是一种rev方式来匹配字母's‘的最后出现的第三个字母--仍然向前匹配,但是使用rev来匹配最后一个字符。
echo "a declaration of sovereignty need no witness" | rev | sed 's/s/S/3' | rev
a declaration of Sovereignty need no witness
Update --一种基于Cyruses的广义解决方案:
SEARCH="one&
我试图用正则表达式(sed)来剪切(替换)字符串,但是想要匹配第一次出现的。因此,您可以看到,它一直停留在第三个数据。
文本:
Cool Text Cool Text DATA : first text DATA : second text DATA : third text
正则表达式:
sed 's/.*DATA//'
结果:
: third text
我有一个搜索查询,它能够根据查询中实际出现的单词数量按相关性对结果进行排序。
SELECT id,
thesis
FROM activity p
WHERE p.discriminator = 'opinion'
AND ( thesis LIKE '%gun%'
OR thesis LIKE '%crucial%' )
ORDER BY ( ( CASE
WHEN thesis LIKE '%gun%' THEN 1
只需以此代码为例。假设它是一个HTML/text文件,如果我想知道echo出现的总次数,我如何使用bash来实现?
new_user()
{
echo "Preparing to add a new user..."
sleep 2
adduser # run the adduser program
}
echo "1. Add user"
echo "2. Exit"
echo "Enter your choice: "
read choice
case $choice in
1)
我有一个字符串和一个字符串列表,并希望计算该列表在字符串中出现次数。我怎么才能解决这个问题呢?
我试过了:
def count_from_word_list(s,l):
"""(str,list of str) -> int
Return the total number of times l appears in the s
"""
counter = 0
for item in s.split():
for item in l:
if s == l:
我需要找到文本中所有重复出现的单词,并将每个单词替换为出现次数。
例如,用于文本
"Test1: ok ok ok ok ok fail fail ok"
我希望能得到
"Test1: ok(5) fail(2) ok(1)"
我可以写一个简单的程序,但是也许有一种简单的方法可以用正则表达式来实现呢?
我需要检查字母"a"在大小为n的字符串s中是否出现。
示例:
s = "abcac"
n = 10
用于检查字母"a":"abcacabcac"是否出现的字符串。
实例:4
我的代码可以工作,但我需要它对较大的n值更快地工作。
我能做什么来优化这段代码?
def repeatedString(s, n):
a_count, word_iter = 0, 0
for i in range(n):
if s[word_iter] == "a":
a_count+
我已经写了代码来统计某个单词cat在其中的出现次数,代码只通过了我的一些测试用例,它没有通过所有的测试,特别是边缘用例。请注意,我不允许使用像count()这样的内置函数和一大堆其他函数。下面是我的代码:
mystery_string = "my cat your cat"
splitword = mystery_string.split()
sum = 0
for string in splitword:
if string == "cat":
sum += 1
print (sum)
当我将变量mystery_string更改为mys
我有一个网站页面,我们使用它来测试我们的应用程序中的特定功能。它在站点的每个行项目上返回"Success“,例如:
Server1Name
Connection: Success
Process 1: Success
Process 2: Success
Server2Name
Connection: Success
Process 1: Success
Process 2: Success
Server3Name
Connection: Success
Process 1: Success
Process 2: Success
我想要做的是找到成功这个词,在页面上出现了9次。到
我需要从文件中读出字母v被提到的次数。事实上,我知道,如果“v”出现在这个句子中,那将是第一件出现的事情。我设置它的方式是逐行计数字符串,这就是它是如何写的,但我只想在整个文件中只提到一句提到'v‘的次数。
f = open("triangle.txt", 'r') #opens the given name file to read input
fw = open("convert.txt",'w') #opens the given name file to write in
for line i
我有一份文件,所以:
helsoidfiejoih
heye heye hey
me is hi
该文件可以包含任意数量的行或字符,重点是它是某种类型的文本文件。现在,I需要使用grep来执行一些操作,以便传递给grep的第一个参数是文件名,第二个参数是模式。但是grep做了一个贪婪的匹配,所以它匹配整个行,而不是一个非贪婪的匹配,这就是我想要的(非贪婪匹配)。现在我试着:
grep -Ec -Po "$2" $1
它给了我自相矛盾的表达。用户可以输入任何模式A.K.ARE,所以-E是一个必要的选项。有没有办法让grep不贪婪?我被告知,-P选项使grep命令不贪婪,但在尝试