小编use*_*277的帖子

使用bash删除旧文件的最有效方法

我目前每隔30分钟通过一个bash脚本(在Centos 6上)执行此命令,删除大约1小时左右的文件.问题是该find命令始终使用我的cpu的45%.是否有办法优化它.在任何时间点,缓存中大约有200万个项目

find /dev/shm/cache -type f -mmin +59 -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)

unix bash find

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

检查bash中是否存在交换空间

我想检查我的bash脚本中的centos框上是否存在Swap空间.因此现金服务器上没有交换空间,然后我可以创建交换.

我试过这种方法

if [[ -n $(swapon -s) ]]; then
    :
else
   mkswap /dev/vda2 &> /dev/null
   swapon /dev/vda2
fi
Run Code Online (Sandbox Code Playgroud)

显然它不起作用,因为即使没有交换swapon -s也会返回一个字符串 Filename Type Size Used Priority

bash swapfile

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

不等于do while循环

由于某种原因,哨兵值将无法按预期工作

public static int play() {
        String input;int result;
        do {
        input = JOptionPane.showInputDialog("Do you want to play-Enter 1 if yes , 0 if no");
        result = Integer.parseInt(input);
        } while (result != 1 || result != 0);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

上面从来没有此代码的工作,但如果我从更改条件它工作得很好while (result != 1 || result != 0);,以while (result < 0 || result > 1);

为什么会这样,我如何do...while在java 的循环中做不同的工作呢?

谢谢

java

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

仅在 gnuplot 中绘制特定列

我有一个如下所示的 csv 文件,我想绘制 S(在 x 轴上)和 B(轴)。如何使用 gnuplot 生成线条图。

    Test_Image,Original_Size
    red-room.png,918394
    Q,S,B,S,C,R
    0,1021763,0.121086,0.00001459,-11.26,-222.18
    1,1061763,0.125086,0.00001459,-11.26,-222.18
    2,1051763,0.121086,0.00001459,-11.26,-222.18
    3,1041763,0.121086,0.00001459,-11.26,-222.18
    4,986461,0.151573,0.00003318,-7.63,-211.67
    5,955766,0.160869,0.00005782,-4.07,-201.37
Run Code Online (Sandbox Code Playgroud)

基本上我需要一种方法来告诉 gnuplot 忽略前 3 行并绘制第 2 和第 3 列。

bash gnuplot

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

使用sed变量

首先,我道歉,如果之前已经回答,但我无法解决我的问题.

我需要搜索一个模式,然后用一行包含文本和变量的文本替换它.我正在使用bash ..

$var = "stacko.ver/rulz=" **Note: $var contain double quotes & = & a dot and /**
Run Code Online (Sandbox Code Playgroud)

我希望如此跟随1.搜索;te.xt = 注意:要搜索的值包含; &=和一个点

2.用它替换它

textnum=$var
Run Code Online (Sandbox Code Playgroud)

当然$ var应该用它的实际值替换

我的尝试

sed -i "s/;te.xt =/textnum=$var/" file
sed -i "s/;te.xt =/textnum="$var"/" file
sed -i "s/";te.xt ="/"textnum=$var"/" file
Run Code Online (Sandbox Code Playgroud)

这些都没有实际工作,sed给我一个错误或文件中没有显示$ var的值

谢谢您的帮助

问候

bash sed

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

在变量Bash中使用echo

我想使用下面的行来更改密码.当我将实际值而不是变量放入时,该命令可以完美地运行.

echo -e "$sshpass\n$sshpass | (passwd --stdin root)"
Run Code Online (Sandbox Code Playgroud)

$sshpass 是包含密码的变量.

我尝试了以下命令使命令运行没有运气:

echo -e "/$sshpass\n/$sshpass | (passwd --stdin root)"
echo -e "$sshpass\n$sshpass | (passwd --stdin root)"
echo -e "'$sshpass'\n/'$sshpass' | (passwd --stdin root)"
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它工作?

variables bash echo

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

在 bash 中将条件放入 cat 中

我对 bash 比较陌生,我想知道是否可以在 bash 中将一个条件放入一只猫中

cat > /root/file <<EOL
A line of text
Some other text
EOL
Run Code Online (Sandbox Code Playgroud)

现在我想在 cat 命令中放置一个 if 条件。例如, if [condition] = something然后Some other text写入文件。

提前致谢......

bash cat

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

在 bash 中使用 sed 修改配置文件

我试图设置net.ipv4.ip_forward到1 /etc/sysctl.conf。以下工作正常,但它肯定遗漏了一些边缘情况

#Enable IP packet forwarding so that our VPN traffic can pass through.
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf 
sed -i 's/#net.ipv4.ip_forward = 1/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf 
grep -qF "net.ipv4.ip_forward" /etc/sysctl.conf  || echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
Run Code Online (Sandbox Code Playgroud)

例如,如果 sysctl.conf 包含以下任何一项,它将不匹配

#net.ipv4.ip_forward=1

##net.ipv4.ip_forward=1.

有没有更可靠的方法来修改配置文件中的设置?

unix linux bash sed

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

503 服务不可用鱿鱼

我正在尝试在 Google 云引擎上设置鱿鱼,但我正在503 Service Unavailable访问每个网站。

curl -x http://35.xx.xxx.xxx:62401   -I http://www.squid-cache.org/Support/
HTTP/1.1 503 Service Unavailable
Server: squid
Mime-Version: 1.0
Date: Fri, 01 Feb 2019 13:45:15 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 3670
X-Squid-Error: ERR_CONNECT_FAIL 101
Vary: Accept-Language
Content-Language: en
X-Cache: MISS from google_proxyv1
X-Cache-Lookup: MISS from google_proxyv1:62401
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

我把我的鱿鱼配置剥离到下面的最小值

acl CONNECT method CONNECT
http_access allow CONNECT 
# And finally allow all  access to this proxy
http_access allow all
# Squid port
http_port 0.0.0.0:62401
debug_options ALL,1 5,5
request_header_access User-Agent deny all …
Run Code Online (Sandbox Code Playgroud)

squid

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

将图像转换为特定的 JPG 质量

我想将图像格式转换为特定质量的 JPG

由于某种原因以下命令不起作用,我得到的只是 NULL

gm convert -quality 80 '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

然而,以下命令工作正常,但graphicsmagick 设置默认质量为 75

gm convert '/tmp/phpK31vNK' JPEG:'/tmp/phpK31vNK' && cat '/tmp/phpK31vNK'

imagemagick graphicsmagick

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

标签 统计

bash ×7

sed ×2

unix ×2

cat ×1

echo ×1

find ×1

gnuplot ×1

graphicsmagick ×1

imagemagick ×1

java ×1

linux ×1

squid ×1

swapfile ×1

variables ×1