我有一个简单的问题需要解决。计算文件中每行的分隔符数量。
这是我的示例文件:
4489201,6421,,,
4619802,4276
Run Code Online (Sandbox Code Playgroud)
我想计算每行有多少个逗号。我在读取行脚本时写了这个,但一直收到错误“没有这样的文件或目录”
#!/bin/bash
data_file="$1"
while read line
do
delimiter_cnt=`sed 's/[^,]//g' $line | wc -c`
echo "delimiter_cnt"
done < $data_file
Run Code Online (Sandbox Code Playgroud)
错误信息是:
sed: can't read 4489201,6421,,,,,,,,,: No such file or directory
0
sed: can't read 4619802,4276,,,,,,,,,: No such file or directory
0
Run Code Online (Sandbox Code Playgroud)
我将衷心感谢您的帮助。提前致谢。
我有一个crontab文件包含许多数据库名称,如
10 06 1 * * script DEVE_DB1
10 06 1 * * script TEST_DB1
10 06 1 * * script PROD_DB1
....
Run Code Online (Sandbox Code Playgroud)
我想在整个文件的#前面添加注释,TEST_DB1以便我的cron作业不会运行所有TEST_DB1作业.
我在这个网站上找到了以下脚本,
sed -e '/TEST_DB1/, s/^/#/'
但是我收到一个错误:
sed: 0602-404 Function /TEST_DB1/, s/^/## / cannot be parsed.
任何建议将不胜感激.
我在Oracle 11GR2中有一个简单的搜索存储过程,在一个包含超过160万条记录的表中.我很困惑的事实是,如果我想在列中搜索一个工作,例如"%boston%",则需要12秒.我有一个名称collumn的索引.
select description from travel_websites where name like "%boston%";
Run Code Online (Sandbox Code Playgroud)
如果我只搜索波士顿这样的单词,比如"boston%",那只需要0.15秒.
select description from travel_websites where name like "boston%";
我添加了一个索引提示并尝试强制优化器在名称列上使用我的索引,它也没有帮助.
select description /*+ index name_idx */ from travel_websites where name like "%boston%";
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.