仅用下划线替换表格文件的空格(无制表符,无行尾)
replace only white spaces (no tabs, no line end) of a tabular file with underscores
我只需要用下划线替换制表符分隔文件的空格(但保持制表和分行)。该文件由500万行8列组成,这里以前两行为例:
Contig505_strand1_frame2_coord21-810 sp|Q06605|GRZ1_RAT Granzyme-like protein 1 OS=Rattus norvegicus PE=2 SV=1 32.245 245 153 6 5.15e-33 123
Contig505_strand1_frame2_coord21-810 sp|P36178|CTRB2_LITVA Chymotrypsin BII OS=Litopenaeus vannamei PE=1 SV=1 34.483 232 140 7 1.78e-32 122
目前我正在按顺序使用这些命令,但是速度很慢...有更快的方法吗?
tr -s '\t' ';' <inputfile.txt >file2.txt
tr -s '[:blank:]' '_' <file2.txt >file3.txt
tr -s ';' '\t' <file3.txt >file4.txt
谢谢!
[:blank:]
包括制表符,所以我认为如果您想用下划线替换一个或空格,这可能会更好:
sed -E 's/ +/_/g' inputfile.txt > file2.txt
sed
(流编辑)命令搜索一个或多个空格并用下划线替换它们。 'g' 用于全局,意味着如果找到则在一行上多次替换。默认操作是仅替换第一次出现的内容。
我只需要用下划线替换制表符分隔文件的空格(但保持制表和分行)。该文件由500万行8列组成,这里以前两行为例:
Contig505_strand1_frame2_coord21-810 sp|Q06605|GRZ1_RAT Granzyme-like protein 1 OS=Rattus norvegicus PE=2 SV=1 32.245 245 153 6 5.15e-33 123
Contig505_strand1_frame2_coord21-810 sp|P36178|CTRB2_LITVA Chymotrypsin BII OS=Litopenaeus vannamei PE=1 SV=1 34.483 232 140 7 1.78e-32 122
目前我正在按顺序使用这些命令,但是速度很慢...有更快的方法吗?
tr -s '\t' ';' <inputfile.txt >file2.txt
tr -s '[:blank:]' '_' <file2.txt >file3.txt
tr -s ';' '\t' <file3.txt >file4.txt
谢谢!
[:blank:]
包括制表符,所以我认为如果您想用下划线替换一个或空格,这可能会更好:
sed -E 's/ +/_/g' inputfile.txt > file2.txt
sed
(流编辑)命令搜索一个或多个空格并用下划线替换它们。 'g' 用于全局,意味着如果找到则在一行上多次替换。默认操作是仅替换第一次出现的内容。