小编dav*_*ave的帖子

shell 脚本: while read 行 没有这样的文件或目录

我有一个简单的问题需要解决。计算文件中每行的分隔符数量。

这是我的示例文件:

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)

我将衷心感谢您的帮助。提前致谢。

shell

2
推荐指数
1
解决办法
4649
查看次数

如何在关键字搜索匹配后在一行前添加注释(#)

我有一个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.

任何建议将不胜感激.

shell aix sed

2
推荐指数
1
解决办法
4081
查看次数

Oracle字符串搜索性能问题

我在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)

任何建议将不胜感激.

oracle indexing performance hint

1
推荐指数
1
解决办法
1861
查看次数

标签 统计

shell ×2

aix ×1

hint ×1

indexing ×1

oracle ×1

performance ×1

sed ×1