标签: regex

一个班轮ffmpeg(或其他)只获得分辨率?

我不是很精通命令行,所以希望这不是一个太愚蠢的问题。

如果我运行:

ffmpeg -i videofile.avi
Run Code Online (Sandbox Code Playgroud)

我得到这样的输出:

ffmpeg version git-2013-11-21-6a7980e Copyright (c) 2000-2013 the FFmpeg develop    ers
  built on Nov 21 2013 12:06:32 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --prefix=/home/user/ffmpeg_build --extra-cflags=-I/home/user/ffmpeg_build/include --extra-ldflags=-L/home/user/ffmpeg_build/lib --b        indir=/home/user/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable    -libfdk-    aac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-l    ibx264 --enable-    nonfree
  libavutil      52. 53.100 / 52. 53.100
  libavcodec     55. 44.100 / 55. 44.100
  libavformat    55. 21.100 / 55. 21.100
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 91.100 /  3. 91.100
  libswscale      2.  5.101 / …
Run Code Online (Sandbox Code Playgroud)

bash regex ffmpeg pipe

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

打印包含字符串和第一个单词的单词

我想在一行文本中找到一个字符串并打印该字符串(在空格之间)和短语的第一个单词。

例如:

“这是一个单一的文本行”
“另一件事”
“你最好再试一次”
“更好的”

字符串列表是:

文本
事物
尝试
更好的

我想要的是获得这样的表:

这个 [tab] 文本
另一个 [tab] 的东西
它 [标签] 试试
更好的

我尝试使用 grep 但什么也没发生。有什么建议吗?

command-line regex text-processing

10
推荐指数
7
解决办法
2154
查看次数

Grep -E, Sed -E - 使用 '[x]{1,9999}' 时性能低下,但为什么呢?

grepsed与选项一起使用--extended-regexp并且模式{1,9999}是所使用的正则表达式的一部分时,这些命令的性能会变低。为了更清楚,下面应用了一些测试。[1] [2]

  • grep -Eegrep和的相对性能sed -E几乎相等,因此只grep -E提供了与进行的测试。

测试 1

$ time grep -E '[0-9]{1,99}' < /dev/null

real    0m0.002s
Run Code Online (Sandbox Code Playgroud)

测试 2

$ time grep -E '[0-9]{1,9999}' < /dev/null

> real    0m0.494s
Run Code Online (Sandbox Code Playgroud)

测试 3

$ time grep -E '[0123456789]{1,9999}' < /dev/null

> 真正的 21m43.947s

测试 4

$ time grep -E '[0123456789]+' < /dev/null
$ time grep -E '[0123456789]*' < /dev/null
$ time grep -E '[0123456789]{1,}' < /dev/null …
Run Code Online (Sandbox Code Playgroud)

command-line regex grep

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

apt-get install php7.0-{some modules} 的更短方法

我目前正在安装 php7.0,想知道是否有更短的安装模块的方法。通常我输入:

    apt-get install php7.0 php7.0-fpm php7.0-mbstring php7.0-mcrypt 
     php7.0-phpdbg php7.0-dev php7.0-curl php7.0-sqlite3 php7.0-json 
     php7.0-gd php7.0-cli
Run Code Online (Sandbox Code Playgroud)

是否有正则表达式,这样您就不必一遍又一遍地键入 php7.0?就像是:

   apt-get install php7.0-{fpm mbstring mcrypt phpdbg dev curl sqlite3 
    json gd cli}
Run Code Online (Sandbox Code Playgroud)

我搜索了几个小时,但找不到这样的东西。在此先感谢您的回复。

apt bash regex php7

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

为 Gedit 安装 Regex 插件

我正在使用Ubuntu 12.04。我想安装Regex Search and Replace plugin for Gedit。所以有人可以告诉我在哪里可以get it and install it。任何帮助和建议都将非常值得赞赏。

gedit plugins regex

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

如何在没有正则表达式的情况下替换文件中的字符串?

我需要替换文件中的一些字符串(从命令行),但我不想使用,sed -i因为我的字符串包含许多需要正确转义的有趣字符。有没有办法关闭正则表达式并替换普通字符串?

10.04 command-line bash regex sed

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

如何使用模式重命名文件集

我有名称如下的文件:

P50_FR_8_q2_scrolls.csv

这里值 50 和 8 需要重命名 & 结果应该是这样的:

P21_FR_3_q2_scrolls.csv

我累了几个类似rename 's/\d{3}(\d{*})\.csv$P21_$1.csv' *.csv 但没有运气。(看来我在 Linux 正则表达式方面真的很糟糕)

值 50->21 和 8->3 是我知道的。但是起始值和终止值并不总是相同的数字大小。

regex rename

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

grep中“+”的问题

我正在尝试编写一个 grep 命令来在大文本文件中查找如下所示的行:

<div class="node_thumbnail" data-type="file" name="GOPR0036.MP4_frame000001.jpg" data="813334c25191468c9f1c57afc99fde60" aid="133948" rel="/Files/ToolTipView?fileId=813334c25191468c9f1c57afc99fde60&pageNo=1&NoCache=101016083044" rev="topMiddle">
Run Code Online (Sandbox Code Playgroud)

但该+符号似乎在以下命令中引起了问题:

 grep 'data=[a-z,0-9,\"]' file
Run Code Online (Sandbox Code Playgroud)

很多点击

 grep 'data=[a-z,0-9,\"]+' file
Run Code Online (Sandbox Code Playgroud)

没有命中

command-line regex grep

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

是否可以使用 shell 字符串进行双重替换?

单替换很容易:

string="Mark Shuttleworth"
echo ${string/a/o}

Mork Shuttleworth
Run Code Online (Sandbox Code Playgroud)

有可能同时做双倍吗?

echo ${string/a/o string/t/g} #doesn't work, but you get the idea

Mork Shuggleworgh
Run Code Online (Sandbox Code Playgroud)

正则表达式足以作为答案,如果可以使用它们的话。

谢谢

command-line bash scripts programming regex

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

带有 \d 的正则表达式在带有 [[ 的 if-else 语句中不起作用

我写了以下脚本。稍后将在构建过程中使用它。我的目标是决定它是预发布版还是发布版。为了存档,我将 $release 与 RegEx 进行比较。如果我的 RegEx 匹配,则为预发布,否则为发布。

#/bin/bash
release="1.9.2-alpha1"
echo "$release"
if [[ "$release" =~ \d+\.\d+\.\d+[-]+.* ]];then
echo "Pre"
else
echo "Release"
fi
Run Code Online (Sandbox Code Playgroud)

但结果我总是得到以下结果:

~$ bash releasescript.sh
1.9.2-alpha1
Release
Run Code Online (Sandbox Code Playgroud)

版本:

Ubuntu 18.04.1 LTS
Run Code Online (Sandbox Code Playgroud)

我用这个编辑器来测试我的 RegEx。我被困了至少 6 小时,所以我非常感谢一些帮助。

command-line bash scripts regex

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

标签 统计

regex ×10

command-line ×6

bash ×5

grep ×2

scripts ×2

10.04 ×1

apt ×1

ffmpeg ×1

gedit ×1

php7 ×1

pipe ×1

plugins ×1

programming ×1

rename ×1

sed ×1

text-processing ×1