我有一个例子,其中我得到了一个具有以下模式的结果文件:
path:pattern found
例如
./user/home/file1:this is a game
换句话说,当我搜索某个字符串时,我得到了文件和它找到的行。
问题是有时我在同一个文件中有多个案例,所以我想删除重复的文件(情况可能不同,所以不可能)。
如有任何帮助或想法,我们将不胜感激:)
最终的结果是扭转这种局面:
/user/home/desktop/file1:this is a game
/user/home/desktop/file1:what kind of game
/user/home/desktop/file1
我正在编写bash脚本,希望它告诉我目录中的文件名称是否出现在文本文件中,如果没有,则删除它们。
就像这样:
counter = 1
numFiles = ls -1 TestDir/ | wc -l
while [$counter -lt $numFiles]
do
if [file in TestDir/ not in fileNames.txt]
then
rm file
fi
((counter++))
done
所以我需要帮助的是if语句,它仍然是伪代码。
目录路径"/home/PPP/main/windows/agile/cmPvt“以aaa、bbb、ccc、ddd为内容。
代码片段:
use File::Basename;
my $kkLoc = ("/home/PPP/main/windows/agile/cmPvt");
my @kkarray = glob("$kkLoc/*") if (-e $kkLoc);
foreach my $kknum (@kkarray) { ## Here: see below
}
这里:我希望在@kkarray中,"aaa", "b
我刚开始使用bash,我正在尝试构建自己的grep别名来搜索文件,这里是我构建的脚本:
function gia() {
if [ -z "$1" ]; then
echo "-You need to define what are you looking for-"
else
echo "-Looking for \"$1\".-"
if [ -z $2 ]; then
echo "-no path passed, searching all files-"
在我的bash脚本中,我需要循环一个特定的文件夹,并排除而不是包含特定字符串的所有文件,例如
. << current directory
db/abc.sql
db/def_something.sql
应该只返回db/abc.sql
我能够循环包含 that 的文件,但是我不能创建相反的文件,只返回db/abc.sql。
这个,过滤的东西..。我如何列出不包含的文件?
for file in ls ./db/*_something.sql;
do
echo $file
done
作为返回,我需要完整的路径,因为需要对文件内容执行一些操作。