小编Ben*_* W.的帖子

在Bash中使用cat和grep命令

我在尝试实现此bash命令时遇到问题:

连接当前目录中在文件文本中至少出现一次单词BOB(在任何情况下)的所有文本文件.

这样做是否正确使用cat命令然后grep用来查找单词的出现BOB

cat grep -i [BOB] *.txt > catFile.txt
Run Code Online (Sandbox Code Playgroud)

bash shell grep cat

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

Sed字符串反向

我正在尝试编写sed命令来反转字符串.例如:如果我输入"美国"作为输入输出应该是"acirema".

请帮忙.

仅供参考:我可以使用shell脚本,Python脚本来完成此操作.但我不能用SED做到这一点.

linux sed

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

来自文件的Bash sum

例如,我有一个文件

a 1:2:3:4:5
b 2:3:4:5:6
Run Code Online (Sandbox Code Playgroud)

输出必须是:

a 15
b 20
Run Code Online (Sandbox Code Playgroud)

我必须在输出的第二列添加数字:

echo $((${line// /+}));done < $1
Run Code Online (Sandbox Code Playgroud)

总结,但我不知道如何将分离器改变: (I don't know how to use tr).

linux bash shell

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

如何回显数学表达式的结果并将其保存到Bash中的变量中

我需要将以下等式回显到命令行,并保存到变量中.到目前为止,我都没有做到.

5 ^ 0.16

我试过了什么

echo 'e(l(5)*.16)' | bc -l
Run Code Online (Sandbox Code Playgroud)

以及

echo 'e(l(5)*.16)' | bc -l | read wcEXP
Run Code Online (Sandbox Code Playgroud)

bash shell scripting

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

错误:站点默认 ssl 未正确启用

执行此操作时出现此错误:

amontoya@ubuntu:~/pruebas$ sudo a2ensite default-ssl
ERROR: Site default-ssl not properly enabled: /etc/apache2/sites-enabled/default-ssl.conf is a real file, not touching it
Run Code Online (Sandbox Code Playgroud)

这是我的default-ssl.conf文件:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled …
Run Code Online (Sandbox Code Playgroud)

shell ubuntu ssl apache2

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

使用Grep仅使用数字作为模式获得所需输出时出现问题

我试图从文件2 grep行匹配文件1中的值,但输出提供更多行.

文件1看起来像这样:

$ head b.txt
5
11
26
27
Run Code Online (Sandbox Code Playgroud)

文件2 a.txt,,,看起来像

1509 5
1506 11
1507 12
339 26
1000 27
1000 100
Run Code Online (Sandbox Code Playgroud)

我使用的命令:

grep -wFf b.txt a.txt
Run Code Online (Sandbox Code Playgroud)

结果我想:

1509 5
1506 11
339 26
1000 27
Run Code Online (Sandbox Code Playgroud)

它给了我所有的东西b.txt,但也有一些额外的线,例如,

1509 5
1506 11
1507 12
339 26
1000 27
1000 100
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

linux awk grep

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

多个获取参数请求中只返回第一个参数

我有以下 api 卷曲请求:

curl --request GET http://127.0.0.1/juris?d=11111&a=22222

在我的里面http handler function有参数:w http.ResponseWriter,r *http.Request我有代码:

defer r.Body.Close()
keys,ok := r.URL.Query()["d"]   
if !ok{
 respondWithError(w,http.StatusBadRequest,"InvalidQuery")
 return
}
dnisQuery := string(keys[0])
akeys,aok := r.URL.Query()["a"]     
if !aok{
 respondWithError(w,http.StatusBadRequest,"InvalidQuery")
 return
}
aniQuery := string(akeys[0])
Run Code Online (Sandbox Code Playgroud)

它验证并传递第一个查询参数的正确值d,但第二个参数失败a并带有InvalidQuery

不确定我做错了什么。

curl http go

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

算术比较在Bash中不起作用

所以,我有一个脚本,用于将文件从一个目录移动到另一个目录.我想检查移动是否成功,所以我使用这段代码:

...
mv "${!i}" "$dirname" 2>/dev/null
echo $?    # Check MV exit code
if (( $?==1 ))
then
...
Run Code Online (Sandbox Code Playgroud)

问题是移动是否成功,then不起作用.如果我这样做

if (( $?==0 ))
Run Code Online (Sandbox Code Playgroud)

它反而适用于任何情况.我已经读过它可能是因为$?被视为字符串,字符串0有价值.但是,如果我将其更改为此

if (( $?=="1" ))
Run Code Online (Sandbox Code Playgroud)

它也不起作用.我已经尝试使用[[ ... ]][ ... ]代替(( ... )),而-eq代替==,删除和添加空间,添加和删除引号,但毫无效果.

我究竟做错了什么?也许有另一种方式来回应某些退出代码?

bash

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

如何在这种bash单行代码中实现并行性

有人可以帮我整理一下这个肮脏的单行代码并实现并行性吗?

find . -name "*.php" -exec rename 's/\.php$/.txt/' '{}' \; && chown www-data:www-data -R * && chmod 0755 -R * && find . -name "*.html" -exec rename 's/\.html$/.txt/' '{}' \; && find . -name ".htaccess" -delete
Run Code Online (Sandbox Code Playgroud)

bash

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

bash -c变量未分配

我正在尝试执行以下命令:

 $ bash -c "var='test' && echo $var"

Run Code Online (Sandbox Code Playgroud)

并且仅打印一个空行。

如果我执行相同的命令而没有 bash -c

$ var='test' && echo $var 
test
Run Code Online (Sandbox Code Playgroud)

分配给的值$var正在打印。有人可以解释为什么我不能在第一个示例中分配变量吗?

linux bash shell

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

标签 统计

bash ×6

shell ×5

linux ×4

grep ×2

apache2 ×1

awk ×1

cat ×1

curl ×1

go ×1

http ×1

scripting ×1

sed ×1

ssl ×1

ubuntu ×1