bash脚本中使用的文件名字符串

时间:2017-10-23 10:13:21

标签: bash unix pattern-matching

我有一个文件列表:

name1andlast1.address
name2andlast2.address
name2andlast2.address
...

我想创建一个使用每个* .address文件的bash脚本+使用名称是* .address文件名的字符串的文件。分隔符将是“和”(没有文件扩展名),所以我可以使用名称#.list和最后#.list

例如,运行 name1andlast1.address 的bash脚本中的,我想使用一组名为 name1的文件(在另一个目录中) .list last1.list

grep "something" name1.list > output1
grep "something" last1.list > output2
grep "something" name1andlast1.address > output3

使用grep的顺序并不重要。更重要的是如何使用文件名(即name1andlast1.address)在我的bash脚本name1.list和last1.list中输入。我需要找到一种方法来提取那些由“和”分隔的bnames。我需要找到一种方法来迭代多个* .address文件

1 个答案:

答案 0 :(得分:1)

  

找到一种方法来提取那些由“和”分隔的bnames。我需要   找到一种方法来迭代多个* .address文件

bash 解决方案:

for f in *.address; do 
    name_l=${f%and*}.list
    last_l=${f#*and}
    last_l=${last_l//.address/.list}
    # ... do futher search/processing with "$name_l" and "$last_l" 
done