我有一个变量 ,var其中包含:
XXXX YY ZZZZZ\n
aaa,bbb,ccc
Run Code Online (Sandbox Code Playgroud)
我想要的只是aaa第二行。我试过:
out=$(echo "$var" | awk 'NR==2{sub(",.*","")}' )
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何输出。我尝试使用,as FS 但我无法得到正确的语法。我真的很想学习 awk/regex 语法。
我想在其他地方使用 out 作为变量“$out”——而不是打印。
printf "%*s\n" $(((${#fname}+$COLUMNS)/2)) "$fname"
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
line 9: (7+)/2: syntax error: operand expected (error token is ")/2")
Run Code Online (Sandbox Code Playgroud)
这在终端中有效,但在我的脚本中无效。你有什么想法?
我有一个格式如下的文件:
XXX XXXX XXX-6VwvOkZvzuI.description
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到文件名XXX XXXX XXX?我试过了:
for file in $(ls .d*)
do
fname="${file%*-}"
ext="${filename%.*}"
done
Run Code Online (Sandbox Code Playgroud) 我正在尝试更好地组织我的音乐 m4a、mp3 等。由于文件被标记,我想我可以制作一个脚本来读取文件并从文件中提取专辑和艺术家信息,然后将文件 mv 到正确的文件夹中。我也想在这个过程中学习一些 AWK。
我开始于:
for file in *.m4a; do
tageditor get artist -f "$file" | awk '/Artist/{ print }'
done
Run Code Online (Sandbox Code Playgroud)
输出:
Artist Periphery
Artist Meshuggah, Tomas Haake, Marten Hagström, Fredrik Thordendal,
Artist Varials, Bryan Garris
Artist Cannibal Corpse
Artist Lamb of God
Artist Ingested
Artist Linkin Park
Artist Car Bomb
Artist Whitechapel
Artist Divine Destruction
Artist Ingested, Sean Hynes, Sam Yates, Jason Evans, Lyn Jeffs
Run Code Online (Sandbox Code Playgroud)
然后:
for file in *.m4a; do
tageditor get artist -f "$file" | …Run Code Online (Sandbox Code Playgroud)