所以我正在运行这一个班轮:
perl -i -pe 's|[^\d\n]||g' country-ids.txt
要替换文件中的文本,如下所示:
# encoding: utf-8
files_to_change = ["db_owners.txt", "db_vessels.txt"]
files_to_change.each do |file|
text = File.read(file)
,"1")
,"1")
,"2")
,"2")
,"3")
我的目标是剥离所有非数字字符的每一行,同时将这些行保留在其原始位置。
我得到的不是我想要的结果:
d
dd
d
d
<blank space>
不知道发生了什么。我保留新行的原因是因为我上次在“查找”字符类中没有换行符的情况下运行它时,我得到的只是一个非常非常长的数字行。
如果有任何区别,我会使用 %x{command} 在 .rb 脚本中运行它。
编辑:
这是整个脚本。仍然遇到同样的问题。不知道为什么。
%x{cut -f 2 -d/ script-substitute-countries-with-id.rb > countries2.txt}
%x{cut -f 2 db_vessels.txt > countries.txt}
%x{cut -f 3 -d/ script-substitute-countries-with-id.rb > country-ids.txt}
%x{perl -i -pe 's:[^\d]::g' country-ids.txt}
%x{join countries2.txt country-ids.txt > countries2.txt.tmp}
%x{mv countries2.txt.tmp countries2.txt}
%x{cat countries.txt countries2.txt > countries.txt}
%x{uniq countries.txt > countries.txt.tmp}
%x{mv countries.txt.tmp countries.txt}