【发布时间】:2014-03-31 06:21:43
【问题描述】:
我有这个脚本,并且我知道其中的 awk 命令可以工作,但是当我想使用与使用 mv 命令执行任务的文件相同的名称保存输出时,* 是不用作通配符,而是用作字符,我最终得到一个名称如下的文件:
阿尔及利亚_BER_*_sites.txt
脚本:
#!/bin/bash
for i in Algeria_BER
do
echo awk 'FNR==NR{a[++i]=$0;next} {print a[FNR] RS $0}' \
reduced_filt_MAF_b37_chr1_${i}_ldhat.txt_names ${i}_*_sites.txt > $$.tmp &&
mv $$.tmp "${i}_*_sites.txt"
done
【问题讨论】:
-
您不能使用匹配多个文件的模式作为
mv命令的目标。${i}_*_sites.txt应该代表什么单个文件? -
你刚才说的和阿努巴瓦说的一样。那有什么意义呢?
-
这是一个超越任何特定答案的评论。
-
无论如何,同样的 -exact- 评论在你之前发布了。如果它没有添加任何东西,那么你应该把它留给自己。这是一个可以提供帮助的网站。请记住这一点。
-
当我看到问题本身存在问题时,我不会浏览答案以查看那里正在进行什么讨论。