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
Macos 将字符串添加到文件中的每一行,并将该字符串在每个文件中增加1_Macos_Unix_Qiime - Fatal编程技术网

Macos 将字符串添加到文件中的每一行,并将该字符串在每个文件中增加1

Macos 将字符串添加到文件中的每一行,并将该字符串在每个文件中增加1,macos,unix,qiime,Macos,Unix,Qiime,我有一些行中带有字符串的文件集,因此有一个包含 file1 file2 file3 在这些文件中,有一个可变长度的字符串列表,文件1可以读取 file1.itemA file1.itemB file1.itemC 而文件2可能只包含 file2.itemA file2.itemB 我想为每个文件中的每一行添加一个特定于文件的代码,以便 code1.file1.itemA code1.file1.itemB code1.file1.itemC 及 如何在unix中执行此操作?我正在使用OS

我有一些行中带有字符串的文件集,因此有一个包含

file1
file2
file3
在这些文件中,有一个可变长度的字符串列表,文件1可以读取

file1.itemA
file1.itemB
file1.itemC
而文件2可能只包含

file2.itemA
file2.itemB
我想为每个文件中的每一行添加一个特定于文件的代码,以便

code1.file1.itemA
code1.file1.itemB
code1.file1.itemC


如何在unix中执行此操作?我正在使用OSX终端执行命令。

我不在测试终端附近,但是,如何:

cd /path/to/your/files
word='code'
base=1
for file in *; do sed -i -e "s/^/$word$base/" "${file}"; base=$(( $base + 1 )); done

$word
变量是您想要的常量。
$base
变量保存每个文件上递增的计数,最初设置为1。

明白了。你能澄清一下吗?如果文件名不是简单的file1、file2等,而是“file01\u rep01\u other.unmoused.stuff.fastq”file02\u rep02\u other.unmoused.stuff.fastq”应该可以。在计算要添加的代码时不使用文件名,并且正确引用了
sed
的文件名参数。如果您遇到特定错误,请发布特定错误,并尽可能多地发布实际文件。
cd /path/to/your/files
word='code'
base=1
for file in *; do sed -i -e "s/^/$word$base/" "${file}"; base=$(( $base + 1 )); done