标签: awk

从文本流中删除 ANSI 颜色代码

检查输出

perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";'
Run Code Online (Sandbox Code Playgroud)

在文本编辑器(例如,vi)中显示以下内容:

^[[37mABC
^[[0m
Run Code Online (Sandbox Code Playgroud)

如何从输出文件中删除 ANSI 颜色代码?我想最好的方法是通过各种流编辑器来传输输出。

以下不起作用

perl -e 'use Term::ANSIColor; print color "white"; print "ABC\n"; print color "reset";' | perl -pe 's/\^\[\[37m//g' | perl -pe 's/\^\[\[0m//g'
Run Code Online (Sandbox Code Playgroud)

regex perl awk sed

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

如何以秒为单位获取视频时长?

如何以秒为单位获得视频时长?

我试过的:

ffmpeg -i file.flv 2>&1 | grep "Duration"
  Duration: 00:39:43.08, start: 0.040000, bitrate: 386 kb/s


mediainfo file.flv | grep Duration
Duration : 39mn 43s
Run Code Online (Sandbox Code Playgroud)

这是什么接近,但它不是那么准确,2383 是 39.71 分钟

ffmpeg -i file.flv 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'
2383
Run Code Online (Sandbox Code Playgroud)

time clock ffmpeg awk

107
推荐指数
4
解决办法
20万
查看次数

awk,mawk,nawk,gawk……什么?

我刚刚开始学习 awk,我对周围的所有版本都有些困惑。在所有类 Unix 系统上是否有任何“版本”?就像,你知道,普通的 vi?标准 awk 是否支持 -F 选项?

unix awk

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

sed:如果找到,如何替换行或如果未找到则追加到文件末尾?

使用仅包含注释(以 # 开头)和 VARIABLE=value 行的单个输入文件,是否可以在找到时替换单个变量的值,否则,如果未找到,则将该对附加到文件末尾?

我当前的方法是在第一遍中删除它,然后在第二遍中将其附加到文件的末尾,但这种方法会弄乱行顺序(也是两个不同的命令):

sed -r "/^FOOBAR=.*$/d"      -i samefile &&
sed -r "$ a\FOOBAR=newvalue" -i samefile
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,即。在单个 sed 行中保持行序?如果其他一些实用程序(awk,...)这样做,我会把它接管 sed。

linux awk sed command-line

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

如何使用解析 ps 输出的单个命令获取正在运行的进程的 pid?

我正在寻找一行返回正在运行的进程的 pid 的行。

目前我有:

ps -A -o pid,cmd|grep xxx|head -n 1

这将返回拳头pid, command。我只需要输出中的第一个数字,而忽略其余部分。我想sedawk会在这里提供帮助,但我对他们的经验有限。

另外,这还有一个问题,如果 xxx 没有运行,它会返回 grep 的 pid。

有一行真的很重要,因为我想重用输出来做其他事情,比如杀死那个进程。

bash awk sed pid

22
推荐指数
4
解决办法
7万
查看次数

替换文本文件每一行中第 n 次出现的字符串

我有带有空格分隔字符串 (2-5) 的大文本文件。字符串可以包含“'”或“-”。我想用管道代替第二个空格。

最好的方法是什么?

使用 sed 我在想这个:

sed -r 's/(^[a-z'-]+ [a-z'-]+\b) /\1|/' filename.txt
Run Code Online (Sandbox Code Playgroud)

任何其他/更好/更简单的想法?

linux awk sed command-line

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

如何使用 Python/AWK/SED 为 Markdown 文档制作目录?

我有以下降价文档:

Heading-a
==========

---text---

Heading-b
------------

--- text ---

Heading-c
----------

--- text---

Heading-d
=======

--- text----

Heading-e
---

...
Run Code Online (Sandbox Code Playgroud)

我想用它制作一个可点击的目录,类似于LaTex的方式,但找不到可以做到这一点的工具,这表明我们应该构建一个。

该工具应收集“H1”标题和“H2”标题,以便将数字 1 分配给Heading-a数字 1.1。到Heading-b1.2。到Heading-c, 2. 到Heading-d, 2.1. 对Heading-e等,这样,我们应该得到的内容如下表:

  1. Heading-a
  1.1. Heading-b
  1.2. Heading-c
  2. Heading-d
  2.1. Heading-e
Run Code Online (Sandbox Code Playgroud)

如何使用 Python/AWK/SED 执行此操作?

python markdown awk sed table-of-contents

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

如何找到我的 awk 版本?

如果我想知道 awk 的版本,我会得到以下信息:

$ awk --version
awk: not an option: --version
Run Code Online (Sandbox Code Playgroud)

签入man awk我看到我的 awk 是

mawk - 模式扫描和文本处理语言

awk

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

如何使用单引号的awk分隔符?

我想使用 awk 从 SQL 输出中提取信息,如下所示:

(计数(不同的服务器类)='2')

并且需要提取数字,在这个例子中是2。

我想做类似以下的事情,但无法弄清楚如何转义单引号:

<sqlCommand> | awk 'BEGIN{FS="'"}{print $2}'
Run Code Online (Sandbox Code Playgroud)

如何在 awk 中获得文字单引号作为字段分隔符?

unix awk escape-characters

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

添加到 Notepad++ 中的每一行末尾

我有一个长文本文件

gallery-dl -g -i w4b027.txt >
gallery-dl -g -i a4b028.txt >
gallery-dl -g -i b4b029.txt >
gallery-dl -g -i c4b030.txt >
gallery-dl -g -i d4b031.txt >
gallery-dl -g -i w4b032.txt >
gallery-dl -g -i w4b033.txt >
gallery-dl -g -i w4b034.txt >
gallery-dl -g -i w4b035.txt >
gallery-dl -g -i w4b036.txt >
gallery-dl -g -i w4b037.txt >
gallery-dl -g -i w4b038.txt >
gallery-dl -g -i w4b039.txt >
gallery-dl -g -i w4b040.txt >
Run Code Online (Sandbox Code Playgroud)

我想成功

gallery-dl -g -i a4b027.txt > a4b027x.txt
gallery-dl -g …
Run Code Online (Sandbox Code Playgroud)

shell notepad++ awk sed append

13
推荐指数
4
解决办法
3204
查看次数