如何删除文本每一行的第一个“文本”
How to delete the first “text” the each line of the text
这是我第一次在那里提问,如果有什么地方做错了,我很抱歉
考虑一个名为“00.txt”的文件,它包含以下内容。
ai_00_01_01 word01 word01(translated)
ai_00_01_02 word02 word02(translated)
...
ai_00_01_305 word305 word305(translated)
P.S。 (translated) 并不意味着那里真的有一个 () ,它只是该行单词的另一种语言
希望改成这样:
word01 = word01(translated)
word02 = word02(translated)
...
word305 = word305(translated)
我尝试过的东西:
cut -f 2- -d ' ' 00.txt > new_file.txt
“使用 space 作为分隔符,从 file.txt 文件中给我第二个和任何其他字段,并将输出定向到 new_file.txt” -by ivanivan in
https://unix.stackexchange.com/questions/515249/how-to-delete-the-first-word-in-each-line-of-a-file
(我认为这意味着删除文本直到第一个space?英语不好抱歉)
我试过的代码只是在第n个里面生成了一个新的txt文件,而00的txt文件没有任何改变
感谢任何人帮助这个菜鸟(又名我自己)
看看这样的东西是否是您要找的东西..
% cat stuff.txt
ai_00_01_01 word01 word01(translated)
ai_00_01_02 word02 word02(translated)
ai_00_01_305 word305 word305(translated)
% cut -d' ' -f2- stuff.txt > stuff2.txt
输出为:
% cat stuff2.txt
word01 word01(translated)
word02 word02(translated)
word305 word305(translated)
然后您可以根据需要插入 =,如下所示:
% sed 's/ / = /' stuff2.txt
word01 = word01(translated)
word02 = word02(translated)
word305 = word305(translated)
然后,全部放在一行中:
% cut -d' ' -f2- stuff.txt | sed 's/ / = /' > stuff2.txt
由于您的数据已经用空格分隔,您可以使用带有默认分隔符的 for /f
循环:
for /f "tokens=2,3" %%A in (00.txt) do echo %%A = %%B >>new_file.txt
这需要每一行中的第二个和第三个东西,将第二个东西存储在 %%A
中,将第三个东西存储在 %%B
中,然后以你在你的文件中提到的格式显示这两个东西问题,将其重定向到 new_file.txt
。 (请注意,如果您认为您将 运行 脚本不止一次,您应该在此之前添加一行以删除 new_file.txt 否则您只需将这些行附加到现有文件的末尾.)
这是我第一次在那里提问,如果有什么地方做错了,我很抱歉
考虑一个名为“00.txt”的文件,它包含以下内容。
ai_00_01_01 word01 word01(translated)
ai_00_01_02 word02 word02(translated)
...
ai_00_01_305 word305 word305(translated)
P.S。 (translated) 并不意味着那里真的有一个 () ,它只是该行单词的另一种语言
希望改成这样:
word01 = word01(translated)
word02 = word02(translated)
...
word305 = word305(translated)
我尝试过的东西:
cut -f 2- -d ' ' 00.txt > new_file.txt
“使用 space 作为分隔符,从 file.txt 文件中给我第二个和任何其他字段,并将输出定向到 new_file.txt” -by ivanivan in https://unix.stackexchange.com/questions/515249/how-to-delete-the-first-word-in-each-line-of-a-file (我认为这意味着删除文本直到第一个space?英语不好抱歉)
我试过的代码只是在第n个里面生成了一个新的txt文件,而00的txt文件没有任何改变
感谢任何人帮助这个菜鸟(又名我自己)
看看这样的东西是否是您要找的东西..
% cat stuff.txt
ai_00_01_01 word01 word01(translated)
ai_00_01_02 word02 word02(translated)
ai_00_01_305 word305 word305(translated)
% cut -d' ' -f2- stuff.txt > stuff2.txt
输出为:
% cat stuff2.txt
word01 word01(translated)
word02 word02(translated)
word305 word305(translated)
然后您可以根据需要插入 =,如下所示:
% sed 's/ / = /' stuff2.txt
word01 = word01(translated)
word02 = word02(translated)
word305 = word305(translated)
然后,全部放在一行中:
% cut -d' ' -f2- stuff.txt | sed 's/ / = /' > stuff2.txt
由于您的数据已经用空格分隔,您可以使用带有默认分隔符的 for /f
循环:
for /f "tokens=2,3" %%A in (00.txt) do echo %%A = %%B >>new_file.txt
这需要每一行中的第二个和第三个东西,将第二个东西存储在 %%A
中,将第三个东西存储在 %%B
中,然后以你在你的文件中提到的格式显示这两个东西问题,将其重定向到 new_file.txt
。 (请注意,如果您认为您将 运行 脚本不止一次,您应该在此之前添加一行以删除 new_file.txt 否则您只需将这些行附加到现有文件的末尾.)