我试图在bash中将文件名加载到数组中。目前,我正在使用:
testarr=(csv/*.csv)
这给了我像
这样的元素csv/filename.csv
如何只添加'文件名'到阵列?
谢谢!
答案 0 :(得分:5)
最简单的方法是首先添加整个名称,然后使用parameter expansion删除您不想要的部分:
testarr=( csv/*.csv ) # load literal filenames
testarr=( "${testarr[@]##*/}" ) # strip off directory names
testarr=( "${testarr[@]%.csv}" ) # strip off extensions
答案 1 :(得分:0)
这也可以使用basename -a:
来完成testarr=($(basename -a csv/*.csv))