小编Eri*_*kli的帖子

如何检查文件中是否存在字符串

我目前正在编写一个 bash 脚本,该脚本应该329,检查myfile. 我在网上搜索并找到了一些答案,但我无法使用参数,因为我的数字比上的-x数字多。如果没有参数,我也可以获得结果,这是我不想要的。329,myfile-xExists329

我试过;

if grep -xqFe "329," "myfile"; then
    echo -e "Exists"
else
    echo -e "Not Exists"
fi
Run Code Online (Sandbox Code Playgroud)

输出是;

Not Exists

代替myfile;

329, 2, 57
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

command-line text-processing

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

如何复制一个立即被删除的文件

我有一个脚本,该脚本创建一个转储/path/of/directory并立即删除它。我想在删除该转储之前复制它。

我试过;

dump=$(ls -a | grep -E "^[0-9]+$")
cp $dump fulldump
Run Code Online (Sandbox Code Playgroud)

但我只拿到了一半的剧本,没有完整的剧本。

command-line scripts

7
推荐指数
4
解决办法
4461
查看次数

如何从文件中删除特定字符串

我确实有一个 bash 脚本。我想从文本文件中删除特定字符串。我已经在网上找到了一个命令,但似乎不太稳定。

我试过了;

mv .admins .adminsold
sed -r "s#${MYFUNCTION}(,|$)##g" <.adminsold >.admins
Run Code Online (Sandbox Code Playgroud)

我的输入文件;

# Admin rule
[[rule]]
    # Set your admin Group Ids here, ex: [ 13, 42 ]
        groupid = [  329, 2, 324, 156 ]
    # And/Or your admin Client Uids here
    useruid = []
    # By default treat requests from localhost as admin
    ip = [ "127.0.0.1", "::1" ]
    "+" = "*"
Run Code Online (Sandbox Code Playgroud)

预期文件;

# Admin rule
[[rule]]
    # Set your admin Group Ids here, ex: [ 13, …
Run Code Online (Sandbox Code Playgroud)

command-line text-processing

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

如果今天的日期已经过了 X 日期,则在 Ubuntu Bash 脚本中执行内容

我正在创建一个 bash 脚本许可证系统。我想制作一个名为 End-Date 的系统,该系统将检查今天的日期是否已经过了特定日期,然后我想运行命令。通过示例您会更好地理解它。

例如

#Lets say today is 30.08.2022
scriptdate=30.08.2022
enddate=29.08.2022
#If the $scriptdate has passed the $enddate then run exit command
Run Code Online (Sandbox Code Playgroud)

command-line bash scripts

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

我无法在子 shell 上设置 ulimit

我有一个 bash 脚本。该 bash 脚本需要每 5 分钟运行一次,因此我创建了以下代码块:

#!/bin/bash
ulimit -n 600000
ulimit -u 600000
echo -e "This is another bash script to run mybashscript.sh"

# Lets create mycronscript.sh
echo "#!/bin/bash
ulimit -n 600000
ulimit -u 600000
while true; do
sleep 300
bash mybashscript.sh
done" >> mycronscript.sh
bash mycronscript.sh&
Run Code Online (Sandbox Code Playgroud)

每当它在 5 分钟后自行运行时,mybashscript.sh 就无法正常运行,因为未应用 ulimit 设置。我该如何修复它?

command-line bash scripts ulimit resource-limiting

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