如何将 youtube-dl 文件下载进度百分比添加到 zenity 进度条
示例代码(只是一个例子,不是一个有效的)
#!/bin/sh
(
progress=$(youtube-dl --extract-audio --audio-quality 0 --newline --audio-format mp3 https://www.youtube.com/playlist?list=PL1C815DB73EC2678E)
per=$(awk '{print perc}' <<<$progress)
time=$(awk '{print time}' <<<$progress)
file_no=$(awk '{print file_no}' <<<$progress) #only for playlist, example=Downloading video 1 of 4
echo "$per" ; sleep 1
echo "# $file_no \n Time Left: $time" ; sleep 1
) |
zenity --progress \
--title="Download" \
--text="Downloading..." \
--percentage=0
if [ "$?" = -1 ] ; then
zenity --error \
--text="Download cancelled."
fi
Run Code Online (Sandbox Code Playgroud)
我已使用此代码获取下载进度
youtube-dl --extract-audio --audio-quality 0 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用命令行仅获取 Ubuntu 14.04 上已编译 nginx 的配置参数。
跑步/usr/local/nginx/sbin/nginx -V给了我们:
nginx version: nginx/1.8.1
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
built with OpenSSL 1.0.1f 6 Jan 2014
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_stub_status_module --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d --with-http_sub_module
Run Code Online (Sandbox Code Playgroud)
这是有道理的。
所以现在我想把这条线剪掉:
--with-http_ssl_module --with-http_stub_status_module --add-module=/usr/local/src/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d --with-http_sub_module
网上查了一下,好像
/usr/local/nginx/sbin/nginx -V | sed -n -e '/arguments/ s/.*\: *//p'
Run Code Online (Sandbox Code Playgroud)
或者
/usr/local/nginx/sbin/nginx -V | awk -F":" '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
或者
/usr/local/nginx/sbin/nginx -V | egrep -o '\\-\\-'
Run Code Online (Sandbox Code Playgroud)
但他们都只是输出相同的 nginx -V
我理解错了什么?
我使用 'bash' shell 并在文件上执行下面的 'awk' 命令,文件记录用不同字符的数量分隔,如括号、冒号、括号,如下示例记录
...(field#13[field#14:]]:filed#18[filed#19)[...
Run Code Online (Sandbox Code Playgroud)
但是,当我使用单个转义符 '\' 转义“][”时,awk 命令失败并且我必须双重转义 '\\' 括号才能获得预期的结果,它如何需要使用双转义括号(在 'csh ' 壳是一样的)?
awk -F"[\\[\\]:)(]" '{print $18}' inFile
filed#18
Run Code Online (Sandbox Code Playgroud)
还请注意这一点,我知道我可以像下面这样使用双重转义 '\\' 来逃避它们,我只想知道为什么对于括号这是强制性的?
awk -F"[\\[\\]\\:\\)\\(]" '{print $18}' inFile
filed#18
Run Code Online (Sandbox Code Playgroud)
即使使用信号转义也会发出警告(括号除外),但仍然命令执行并得到结果,谢谢
awk -F '[\\[\\]\:\)\(]' '{print $18}' inFile
awk: warning: escape sequence `\:' treated as plain `:'
awk: warning: escape sequence `\)' treated as plain `)'
awk: warning: escape sequence `\(' treated as plain `('
filed#18
Run Code Online (Sandbox Code Playgroud) 我有以下清单:
NM_000014 3
NM_000015 0
NM_000016 0
NM_000017 0
NM_000018 0
NM_000019 28
NM_000020 0
NM_000021 0
NM_000022 0
NM_000023 0
NM_000024 8
NM_000025 0
NM_000026 0
Run Code Online (Sandbox Code Playgroud)
我还有另一个文件,只有第一列:
NM_000031
NM_000032
NM_000033
NM_000034
NM_000022
NM_000035
NM_000036
NM_000037
NM_000023
NM_000038
NM_000039
NM_000040
NM_000041
NM_000042
Run Code Online (Sandbox Code Playgroud)
我想删除命名为第二个文件的第一个文件的整行。在这种情况下,输出文件将是:
NM_000014 3
NM_000015 0
NM_000016 0
NM_000017 0
NM_000018 0
NM_000019 28
NM_000020 0
NM_000021 0
NM_000024 8
NM_000025 0
NM_000026 0
Run Code Online (Sandbox Code Playgroud)
(删除 NM_000022 和 NM_00023 及其对应的值)
谢谢!!
我有一个大文件 input.dat,如下所示。
kpoint1 : 0.0000 0.0000 0.0000
band No. band energies occupation
1 -52.8287 2.00000
2 -52.7981 2.00000
3 -52.7981 2.00000
kpoint2 : 0.0000 0.0000 0.0000
band No. band energies occupation
1 -52.8287 2.00000
2 -52.7981 2.00000
3 -52.7981 2.00000
Run Code Online (Sandbox Code Playgroud)
我需要将文件拆分为 2 个较小的文件,如下所示
kpoint1.dat:
kpoint1 : 0.0000 0.0000 0.0000
band No. band energies occupation
1 -52.8287 2.00000
2 -52.7981 2.00000
3 -52.7981 2.00000
Run Code Online (Sandbox Code Playgroud)
和kpoint2.dat:
kpoint1 : 0.0000 0.0000 0.0000
band No. band energies occupation
1 -52.8287 2.00000 …Run Code Online (Sandbox Code Playgroud) 我有一个 csv 文件,看起来像:
data/train/4/36280.png,four
data/train/2/10317.png,two
data/train/2/57890.png,two
data/train/1/53448.png,one
data/train/8/58233.png,eight
data/train/4/23599.png,four
data/train/2/35051.png,two
data/train/1/12323.png,one
data/train/9/18562.png,nine
data/train/8/46629.png,eight
data/train/7/1746.png,seven
Run Code Online (Sandbox Code Playgroud)
其中第一列是路径,第二列是类。我想有条件地更改第二列。在伪代码中,我想要类似的东西:
If second column "four" change it to the next row's class
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只是想看看我是否可以将 ne 类更改为另一个类,但没有成功:
awk '{ if ($2 == "zero") $2="one"; print $0 }' train.csv > new_file.csv
Run Code Online (Sandbox Code Playgroud)
给我同样的csv。
基本上我想要一个脚本,它给我以下输出 csv:
data/train/4/36280.png,seven
data/train/2/10317.png,four
data/train/2/57890.png,two
data/train/1/53448.png,two
data/train/8/58233.png,one
data/train/4/23599.png,eight
data/train/2/35051.png,four
data/train/1/12323.png,two
data/train/9/18562.png,one
data/train/8/46629.png,nine
data/train/7/1746.png,eight
Run Code Online (Sandbox Code Playgroud) 也许kill是不正确的术语,或者至少我使用不正确。
如何销毁 docker 容器?将它们放入垃圾桶。删除。消除。擦除。
docker container kill $(docker ps -a -q | awk '{print $1}')
Run Code Online (Sandbox Code Playgroud)
不太有效:
Error response from daemon: Cannot kill container: 06e44d24ba8d: Container 06e44d24ba8d3df83e10a1829f04755cb9053faa68ab3dabccd10c3ee1c80322 is not running
Error response from daemon: Cannot kill container: 22539a069e3b: Container 22539a069e3b8bbbd27b062603a7667857ac1a5e64242004fe7b72411a9cdbca is not running
Error response from daemon: Cannot kill container: 1f7cf43ab398: Container 1f7cf43ab398e6e18416f69fc947b49d9792b1932a4b157f0514f9f6638ca185 is not running
Error response from daemon: Cannot kill container: 7fc8c24ccabe: Container 7fc8c24ccabef04215df9ba7b8c171df6b963942e6e90c92a462cc0ab9d5dcb0 is not running
Run Code Online (Sandbox Code Playgroud)
也可以看看:
如何skip N lines在 awk 中找到模式?
awk '{if ($0~/pattern/) skip N lines; else print $0}'
Run Code Online (Sandbox Code Playgroud) 假设我想将“jumped”一词后面的第一个单词大写。下面的例子
原文:
the cow jumped over the moon
Run Code Online (Sandbox Code Playgroud)
修改案文
the cow jumped OVER the moon
Run Code Online (Sandbox Code Playgroud)
我尝试过 awk 和 sed 但似乎无法正确执行。
提前致谢
如何在 /var/log/auth.log 中仅显示唯一的 IP 地址?我的服务器经常受到攻击,虽然我设置了fail2ban,但请求仍然不断出现。所以我开始写信给 ISP 要求关闭帐户,这可能会有所帮助,但是攻击太多了……无论如何,
我使用此命令对今天的点击进行排序:$grep -e 'ruser \| rhost' auth.log | grep -e 'Jun 9' | sort -k 14 | less
其数千次攻击...或暴力尝试。
以下是 auth.log 中的一些 relivent 行:
...
Jun 9 10:08:35 nan sshd[23397]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.109.161.53
Jun 9 10:08:51 nan sshd[23401]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.109.161.53
Jun 9 10:09:07 nan sshd[23428]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.109.161.53
Jun 9 10:01:59 nan sshd[23216]: pam_unix(sshd:auth): …Run Code Online (Sandbox Code Playgroud) awk ×10
command-line ×8
bash ×4
sed ×3
grep ×2
container ×1
csv ×1
docker ×1
youtube-dl ×1
zenity ×1