标签: unix-shell

按它们出现的顺序从 grep 获取结果?

我正在尝试 grep 日志文件以仅显示与某个会话 ID 匹配的行。到目前为止,它工作得很好。但是,当我获得 grep 命令的结果时,我没有按照条目出现的顺序获得条目。

如果目录中的日志文件有以下数据:

SESSNUM=4437 login.jsp
SESSNUM=4437 welcome.jsp
SESSNUM=4437 info.jsp
SESSNUM=4437 logout.jsp
Run Code Online (Sandbox Code Playgroud)

我输入:

grep SESSNUM=4437 * 
Run Code Online (Sandbox Code Playgroud)

我得到这个信息:

SESSNUM=4437 logout.jsp
SESSNUM=4437 welcome.jsp
SESSNUM=4437 login.jsp
SESSNUM=4437 info.jsp
Run Code Online (Sandbox Code Playgroud)

有没有办法让 grep 按照它们在日志文件中出现的顺序显示匹配的行?

谢谢!
IVR复仇者联盟

shell grep unix-shell

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

腻子在关闭时中止进程

我是新手,所以问题很简单。通过腻子连接到服务器后,我想执行一些命令。假设该命令将执行很长时间(例如从大型存档或 mysql 备份中提取文件)。有没有办法以这样的方式执行命令,即在我关闭腻子后它不会被中止!

先感谢您!

unix-shell

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

如何比较驻留在两个不同服务器中的两个目录

我有一个需求,例如...我需要编写一个 shell 脚本,它将比较驻留在两个不同服务器(服务器 A 和服务器 B)中的两个目录,并列出发现的差异。理想情况下,两台服务器中的目录的文件名、计数、大小应该相同。所以脚本应该找出差异(如果有的话)。有人可以帮我吗?提前致谢并致以最诚挚的问候,Prasenjit

unix-shell

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

bash 脚本 - 从第 N 行打印到 EOF

我希望能够打印 bash 中的行数:行号(从顶部开始计算)-> 文件结尾

似乎 tail 只会从底部开始计算行数。

有谁知道如何做到这一点?谢谢。

我试过以下

# Where $1 is the file I'm reading in

# Get line number of error:
LINENUM=$( grep -n "$LAST_ERROR_DATE" $1 | egrep $LOG_THRESHOLD | grep $LAST_HOUR: | sed 's/:/ /g' | awk '{print $1}' | head -n 1 )

echo $LINENUM

# This returns 995

# Print everything from linenumber downwards
MESSAGE=$( awk 'NR >= $LINENUM' $1 )
Run Code Online (Sandbox Code Playgroud)

当我手动弹出 995 到 awk 而不是 $LINENUM 时,这有效,它似乎没有读取我的 bash 变量。有任何想法吗?

bash awk sed unix-shell

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

bash 中的选择性备份脚本

一年来,我一直在使用这个简单的命令(这就是我所能做的:)从我在 NAS 服务器中的用户数据备份整个树。

cp -r /STORAGE /BACKUP-STORAGE/YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)

不幸的是,经过一年的服务。我的用户开始用大量照片和剪贴画(jpg、gif、bmp)填充空间,这开始使我的备份过程变慢。空间也是一个大问题。现在,我不再有足够的空间来存放为期一周的每日备份集。

我想我想从备份所有内容更改为仅备份非图像数据。如何从备份中排除 jpg、gif 和 bmp?使用 DOS XCOPY 命令很容易,但我真的不知道如何在 bash 中做到这一点。

谢谢

backup bash command-line-interface bourne-shell unix-shell

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

如何在 bash 中以更简洁的方式连接环境变量路径?

为了修改我的路径(如 LD_LIBRARY_PATH 或 PYTHONPATH),我首先检查变量是否存在。如果是这样,我旧值与新值连接起来(用分号分隔),否则我将变量设置为新值。

NEW_PATH='/path/to/new/path'  
if [ $LD_LIBRARY_PATH ]  
then  
    export LD_LIBRARY_PATH=$NEW_PATH:$LD_LIBRARY_PATH  
else  
    export LD_LIBRARY_PATH=$NEW_PATH  
fi  
Run Code Online (Sandbox Code Playgroud)

它有效,但是当你在脚本中有很多这些源代码时它有点笨拙:是否有一个聪明的技巧可以使这个块成为一个很好的单衬?

谢谢 !

shell bash path unix-shell

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

有没有我可以在 Linux 的 SSH 中使用的浏览器实用程序

是否有可用于 Linux (CentsOS) 的基于文本的浏览器,当我通过 SSH 连接到我的服务器时可以使用它。我使用 CentOS 5.5 版。我的服务器没有图形界面。

如果它支持 JavaScript 就好了。

linux ssh centos unix-shell

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

使用 grep 从文件中删除重复行

我想删除第二列是 05408736032 的所有行。

0009300|05408736032|89|01|001|0|0|0|1|NNNNNNYNNNNNNNNN|asdf|
0009367|05408736032|89|01|001|0|0|0|1|NNNNNNYNNNNNNNNN|adff|

unix-shell

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

如何比较 2 个不同的 unix 框中的文件数据

我有一个文件存在于 2 台不同的 unix 机器中。我如何将数据与文件中的数据进行比较

unix-shell

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

向远程终端发送消息

有没有办法向远程终端发送消息,类似于对本地系统上的其他用户使用 wall 命令?在这种情况下,我想指定一个 username@hostname 并在他们登录时在他们的终端中显示一条消息。

bash terminal unix-shell

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

重定向命令与输出 shell 一起执行

我想将与输出一起执行的命令重定向到一个文件。

例如:#ls >ls_out.txt

ls_out.txt 应该是这样的:


ls

文件 1 文件 2


谢谢!

linux shell unix-shell shell-scripting

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