【发布时间】:2017-07-11 00:27:29
【问题描述】:
我正在尝试在 for 循环中拆分许多文件夹名称,并提取文件名的第一个和最后一个下划线之间的元素。文件名可能类似于 ENCSR000AMA_HepG2_CTCF 或 ENCSR000ALA_endothelial_cell_of_umbilical_vein_CTCF。
我的问题是文件夹名称在下划线总数中彼此不同,所以我不能使用类似的东西:
IN=$d
folderIN=(${IN//_/ })
tf_name=${folderIN[-1]%/*} #get last element which is the TF name
cell_line=${folderIN[-2]%/*}; #get second last element which is the cell line
dataset_name=${folderIN[0]%/*}; #get first element which is the dataset name
cell_line 可以是一个或多个由下划线分隔的单词,但始终位于第一个和最后一个下划线之间。
有什么帮助吗?
【问题讨论】:
标签: bash for-loop split substring