从数组中的字符串开头删除数字和空格

时间:2017-05-15 08:16:41

标签: bash

我将文件条目读入如下数组:

readarray files < $MY_DIR/file_list.cfg

file_list.cfg可能如下所示:

1  file1.cfg
2   some_other_file.cfg
3  yet_another_file_name

如何在bash中删除实际文件名之前的任何数字和空格。我希望在读取数组后修改数组,而不是在填充数组时过滤内容。

1 个答案:

答案 0 :(得分:1)

填充数组后(使用-t开关删除尾随换行符,并使用小写变量名称):

mapfile -t files < "$my_dir/file_list.cfg"

您可以使用参数扩展:

files_clean=( "${files[@]##+([[:digit:][:space:]])}" )

这假设您有extglob shell选项。使用

shopt -s extglob

打开它。