gpt4 book ai didi

linux - 测试字符串在 Bash 中是否有非空白字符

转载 作者:IT王子 更新时间:2023-10-29 00:17:25 25 4
gpt4 key购买 nike

我的脚本正在读取和显示 id3 标签。如果该字段为空,我试图让它回显未知但我尝试的每个 if 语句都不起作用。 id3 标签是固定大小的,因此它们永远不会为 null,但如果没有值,它们将用空格填充。 I.E 标题标签的长度为 30 个字符。到目前为止,我已经尝试过

echo :$string: #outputs spaces between the 2::

if [ -z "$string"] #因为空格总是计算为真

x=echo $string | tr -d ' ';如果 [ -z "$string"]; #still evaluates to true but echos :$x: 它回显::

脚本

#!bin/bash
echo "$# files";
while [ "$i" != "" ];
do
TAG=`tail -c 128 "$i" | head -c 3`;
if [ $TAG="TAG" ]
then
ID3[0]=`tail -c 125 "$1" | head -c 30`;
ID3[1]=`tail -c 95 "$1" | head -c 30`;
ID3[2]=`tail -c 65 "$1" | head -c 30`;
ID3[3]=`tail -c 35 "$1" | head 4`;
ID3[4]=`tail -c 31 "$i" | head -c 28`;
for i in "${ID3[@]}"
do
if [ "$(echo $i)" ] #the if statement mentioned
then
echo "N/A";
else
echo ":$i:";
fi
done
else
echo "$i does not have a proper id3 tag";
fi
shift;
done

最佳答案

这些答案中的许多都比它们应有的复杂得多,或者可读性差得多。

[[ $string = *[[:space:]]* ]]  && echo "String contains whitespace"
[[ $string = *[![:space:]]* ]] && echo "String contains non-whitespace"

关于linux - 测试字符串在 Bash 中是否有非空白字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com