小编Dis*_*oat的帖子

运行管道命令时 Linux 实用程序是否智能?

我只是在终端中运行一些命令,我​​开始想知道,运行管道命令时 Unix/Linux 是否采用快捷方式?

例如,假设我有一个一百万行的文件,其中前 10 行包含hello world. 如果您运行该命令grep "hello world" file | head,第一个命令是在找到 10 行后立即停止,还是继续先搜索整个文件?

command-line pipe utilities efficiency

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

如何从日志文件中提取用户代理字符串?

目前我正在运行这样的命令,以获取请求最多的内容:

grep "17\/Jul\/2011" other_vhosts_access.log | awk '{print $8}' | sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)

我现在想查看用户代理字符串,但问题是它们包含几个空格。这是一个典型的日志文件行。UA 是用引号分隔的最后一部分:

example.com:80 [ip] - - [17/Jul/2011:23:59:59 +0100] "GET [url] HTTP/1.1" 200 6449 "[referer]" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"
Run Code Online (Sandbox Code Playgroud)

有没有比 awk 更好的工具呢?

logs awk

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

调试语法错误:“}”意外(期望“fi”)

我刚刚.deb在 Ubuntu 服务器上安装(从提供的文件)的某个软件的服务将无法启动。运行服务时出现错误:

/etc/init.d/matrixsa: 44: Syntax error: "}" unexpected (expecting "fi")
Run Code Online (Sandbox Code Playgroud)

这是脚本的相关部分。不精通 shell 脚本我不知道这是否有效:

if [ -f /etc/rc.d/init.d/functions ]
then
    . /etc/rc.d/init.d/functions
else
    function action {
        echo "$1"
        shift
        $@
    } # <-- this is line 44
    function success {
        echo -n "Success"
    }
    function failure {
        echo -n "Failed"
    }
fi
Run Code Online (Sandbox Code Playgroud)

shell-script services

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

如何用avconv拼接一段视频?

到目前为止,我已经发现您可以使用 avconv 使用这样的命令(从 1:00-3:00 剪切)从视频中剪切一个部分:

avconv -ss 00:01:00 -i "input.avi" -t 00:02:00 -c:v libx264 -crf 23 "output.mp4"
Run Code Online (Sandbox Code Playgroud)

但是我如何从视频中剪切两个(或更多)部分并将它们组合成一个视频?比如上面的1:00-3:00,加上8:00-10:00,制作最后4分钟的视频。

我想我可以分开做然后将它们连接起来,但是有没有更简单的方法?

ffmpeg video-editing avconv

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