avatar
新手问个基础问题# Unix - 噫吁兮,危乎高哉
j*4
1
比如我在A文件夹下面有文件 *.batch.new, *.batch.old *.batch.annot,在B文件夹
下面有
相同名字的文件。
现在我想把A文件夹下面所有文件的最后两行(tail -2)添加到B文件夹的对应文件里面
,应该如何实
现?我想应该用循环,但是我不知道具体的语法。。。
比我我的路径现在在B文件夹:
for name in \ls /A/*.batch.new; do
tail -2 $name.annot >> (name)."annot"
tail -2 $name.old >> (name)."old"
tail -2 $name.new >> (name)."new"
done
这个语句肯定不对,但是大概应该是这样,vi编辑器,用的bash,不知道我说清楚了没
有,希望大牛指
点一二,谢谢
avatar
c*t
2
You can use cut to get the partial filename. Like
for v in /A/*.batch.new
do
# try to get the shortname. do some test and see
$f=`echo $v|cut -d/ -f2|cut -d. -f1`
tail -2 /A/${f}.annot >> /B/${f}.annot
...
done
Obviously, I didn't test it... Just to give you the idea.

【在 j******4 的大作中提到】
: 比如我在A文件夹下面有文件 *.batch.new, *.batch.old *.batch.annot,在B文件夹
: 下面有
: 相同名字的文件。
: 现在我想把A文件夹下面所有文件的最后两行(tail -2)添加到B文件夹的对应文件里面
: ,应该如何实
: 现?我想应该用循环,但是我不知道具体的语法。。。
: 比我我的路径现在在B文件夹:
: for name in \ls /A/*.batch.new; do
: tail -2 $name.annot >> (name)."annot"
: tail -2 $name.old >> (name)."old"

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。