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