【问题标题】:shell script to print only alpha numeric string and ignore all integers仅打印字母数字字符串并忽略所有整数的 shell 脚本
【发布时间】:2022-12-13 01:26:06
【问题描述】:

我是 linux 脚本的新手。对于下面的示例,我需要按照“-”拆分字符串并将输出作为单独的元素存储在数组中。 稍后,我需要验证数组中的每个元素是整数还是字母数字。如果它是整数,我需要忽略该元素并仅打印非整数元素。我正在尝试的以下脚本没有给出预期的输出,应该类似于“grub2-systemd-sleep-plugin”。

item = grub2-systemd-sleep-plugin-2.02-153.1
IFS='-'
read -rasplitIFS<<< "$item"
for word in "${splitIFS[@]}"; do echo $word; done

【问题讨论】:

标签: linux bash shell


【解决方案1】:

在这里尝试一下...... 取决于您的数字的定义方式,但我相信您可以使用类似这样的方法从输出中删除数字。我不确定是否有更有效的方法来实现这一目标

for word in ${splitIFS[@]}
  do 
    c=$(echo $word | grep -c -E "^[0-9]+.[0-9]+$")
    [ $c -eq 0 ] && echo $word
  done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2021-11-19
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    相关资源
    最近更新 更多