如何将 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) 我有一个大文件 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) 也许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)
也可以看看:
假设我想将“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) 我已经用简单的循环完成了它来计数和打印.. 我怎样才能用 sed,awk 等程序在 bash 脚本中做到这一点?
我想在一组字符串中只保留一个排列并计算每个排列的出现。
为了使事情更清楚,我想转换(例如)
ab
acf
ba
cfa
acf
Run Code Online (Sandbox Code Playgroud)
进入
2 ab
3 acf
Run Code Online (Sandbox Code Playgroud)
其中 2 和 3 分别是 {a,b} 和 {a,c,f} 的排列数。
您将如何以最直接的方式在 bash 中做到这一点?
我有两个文件fileA和fileB。
我必须从 fileA 中提取 column1 awk '{print $1}',然后将输出搜索到其他 fileB 中,并将匹配的记录保存到一个新文件 fileC 中,例如:
fileA:
seg1 rec1
seg2 rec2
seg3 rec3
Run Code Online (Sandbox Code Playgroud)
我需要使用 awk 命令检索第 1 列,并搜索第 1 列fileB以检索如下记录:
fileB:
seg1 one
seg2 two
seg3 three
seg4 four
seg5 five
Run Code Online (Sandbox Code Playgroud)
从文件A 中提取列1 数据,并使用该数据在文件B 中进行搜索,并将匹配的记录保存到测试文件中。我的输出应该是这样的:
fileC:
seg1 one
seg2 two
seg3 three
Run Code Online (Sandbox Code Playgroud) 我在一个文件夹中有许多文本文件。其中的文本格式如下:
%%%%%%%%%%@yahoo.com
%%%%%%@wanadoo.fr
%%%%raviplywoodglasscentre@yahoo.comravi
%%nameemail%%@yahoo.com
%.getincontact@numberland.com
%0dronbracale@roadrunner.com
%1%3@example.com
%1@elsewhere.com
%1@example.com
Run Code Online (Sandbox Code Playgroud)
我想对所有文件文本进行更改并使它们如下所示:
{"email":"%%%%%%%%%%@yahoo.com"}
{"email":"%%%%%%@wanadoo.fr"}
{"email":"%%%%raviplywoodglasscentre@yahoo.comravi"}
{"email":"%%nameemail%%@yahoo.com"}
Run Code Online (Sandbox Code Playgroud)
我想制作这样的完整文件,它们位于文件夹中。
我试过这个:
awk '{ printf("{"email":"%s"}", $l);}' test
Run Code Online (Sandbox Code Playgroud)
但它没有用。
那么,有什么方法可以修改文件夹中所有文件中的文本吗?
假设我有 6 行文本。
Series
Of
Word
73914
Again
Word
Run Code Online (Sandbox Code Playgroud)
我需要在只包含数字的行的开头添加一个字符串。说我插入number-
Series
Of
Word
number-73914
Again
Word
Run Code Online (Sandbox Code Playgroud)
目前我运行两个命令来达到预期的结果。我想知道是否有更有效的方法。
注意:有 1000 多行,所以最好这适用于所有行(我已经说明了)。