如何使用Unix CAT和Find插入新行

3

我有一个文件列表,看起来像这样:

/somedir/file1.fa

>foo
ATCGGGGG

/somedir/file2.fa

>bar
CCCCCCC

这些文件有很多。

我想使用以下命令执行CAT操作:

find /somedir/ -name "*.fa" | xargs cat > All.fa

但为什么我会在All.fa中遇到这个问题呢?

>foo
ATCGGGGG>bar
CCCCCCC

不再使用

>foo
ATCGGGGG
>bar
CCCCCCCC

有没有一种方法可以纠正它?

顺便说一句,我尝试过了,它运行得很好。请问您正在使用什么系统(操作系统、32/64位等)?还有,您是否在使用Unix版本的cat/find或GNU? - havexz
2个回答

1

看起来您的文件末尾缺少换行符。


1
find /somedir/ -name "*.fa" | xargs -n 1 -I % bash -c "cat %; echo" > All.fa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接