Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用Unix CAT插入新行并查找_Linux_Unix_Find_Cat - Fatal编程技术网

Linux 如何使用Unix CAT插入新行并查找

Linux 如何使用Unix CAT插入新行并查找,linux,unix,find,cat,Linux,Unix,Find,Cat,我的文件列表如下所示: /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 CCC

我的文件列表如下所示:

/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?
find /somedir/ -name "*.fa" | xargs -n 1 -I % bash -c "cat %; echo" > All.fa