小编Ami*_*ani的帖子

如何让 tail -f 显示彩色输出

我希望能够跟踪服务器日志文件的输出,该文件包含以下消息:

INFO
SEVERE
Run Code Online (Sandbox Code Playgroud)

等,如果是SEVERE,则以红色显示该行;如果是INFO,则为绿色。我可以为tail帮助我执行此操作的命令设置什么样的别名?

command-line colors alias highlighting tail

298
推荐指数
10
解决办法
23万
查看次数

循环遍历名称中带有空格的文件?

我编写了以下脚本来比较两个目录的输出,其中包含所有相同的文件:

#!/bin/bash

for file in `find . -name "*.csv"`  
do
     echo "file = $file";
     diff $file /some/other/path/$file;
     read char;
done
Run Code Online (Sandbox Code Playgroud)

我知道还有其他方法可以实现这一目标。奇怪的是,当文件中有空格时,这个脚本会失败。我该如何处理?

find 的示例输出:

./zQuery - abc - Do Not Prompt for Date.csv
Run Code Online (Sandbox Code Playgroud)

scripting bash find text-processing filenames

187
推荐指数
6
解决办法
25万
查看次数

find & sed(搜索和替换)

我在我的 mac 上使用以下命令:

$find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \;
Run Code Online (Sandbox Code Playgroud)

而且似乎没有效果。

我在目录中有两个以 .java 结尾的文件,它们都包含 foo 文本。我错过了什么吗?

编辑:征求意见的结果

[aafghani-03:~/test amirafghani]$ find . -name "*.java" -exec sed -i 's/foo/bar/g' {} \;
sed: 1: "./bar.java": invalid command code .
sed: 1: "./foo.java": invalid command code .
Run Code Online (Sandbox Code Playgroud)

osx sed find

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

从 grep 的结果中添加数字

我运行以下命令:

grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

1
4
0
8
Run Code Online (Sandbox Code Playgroud)

我想将每个数字添加到一个运行计数变量中。有人可以帮我建造一个神奇的衬垫吗?

shell grep bash

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

使用 $? 在 if 语句中

function foo {
   (cd $FOOBAR;
   <some command>
   if [$? -ne 0]
   then
      echo "Nope!"
   else
      echo "OK!"
   fi
   )
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个类似上面的函数并将其放在我的 .bashrc 文件中。在我获取文件并运行后,我得到:

总时间:51 秒
-bash: [1: 命令未找到
OK!

有人可以帮助我理解我做错了什么吗?

scripting bash

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

bash中引号内的美元符号插值

我正在运行我写的这个小测试脚本:

#!/bin/bash

TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
Run Code Online (Sandbox Code Playgroud)

从命令行:

./test.sh "1092$212"
Run Code Online (Sandbox Code Playgroud)

但美元符号正在被剥离。如果我逃脱它,它会起作用。但我认为双引号会保护我不需要这样做。有人可以帮助我了解发生了什么以及如何解决这个问题吗?

shell bash quoting

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

大写字母的grep

我有一个文件,其中包含大写单词的声明,例如:

public final Foo BAR;
Run Code Online (Sandbox Code Playgroud)

这些声明并不都是统一的。有没有办法让我从行中找出大写字母的单词?我知道如何找到其中包含大写字母的行,但这不是我想要的。我只想要匹配的大写字母单词。谢谢!

grep

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

别名或 bash 功能不起作用

当我创建

alias wd='ps -ef | grep java | awk {'print $2 " " $9'} | egrep "(A|B|C|D)"'
Run Code Online (Sandbox Code Playgroud)

或者

function wd () {
    ps -ef | grep java | awk '{print $2}' ...
}
Run Code Online (Sandbox Code Playgroud)

在我的 .bashrc 文件中,出现错误。有趣的是,如果我使用该函数获取我的 .bashrc 文件,它会“编译”,但是在执行时,会给出:

 context is
     >>> \ <<< {\print
    missing }
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题,并回答什么时候将某些东西放在函数中而不是别名中更好?

bash alias function

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