首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除每一行文本中的第一个“文本”

如何删除每一行文本中的第一个“文本”
EN

Stack Overflow用户
提问于 2021-03-24 09:56:19
回答 2查看 43关注 0票数 0

这是我第一次在那里问问题,如果我做错了什么,我很抱歉

考虑一个名为'00.txt‘的文件,它包含以下内容。

代码语言:javascript
复制
ai_00_01_01 word01 word01(translated)
ai_00_01_02 word02 word02(translated)

...
ai_00_01_305 word305 word305(translated)

P.S. (已翻译)并不意味着那里真的有一个(),它只是该行单词的另一种语言

我希望它变成这样:

代码语言:javascript
复制
word01 = word01(translated)
word02 = word02(translated)

...
word305 = word305(translated)

我试过的东西:

代码语言:javascript
复制
cut -f 2- -d ' ' 00.txt > new_file.txt

“给我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“(我认为这意味着删除文本直到第一个空格?糟糕的英语对不起)

我尝试的代码只在第n个时生成了一个新的txt文件,而00txt文件并没有改变任何东西

感谢所有帮助这个菜鸟的人(也就是我自己)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-24 17:36:25

由于您的数据已经由空格分隔,因此您可以使用带有默认分隔符的for /f循环:

代码语言:javascript
复制
for /f "tokens=2,3" %%A in (00.txt) do echo %%A = %%B >>new_file.txt

这将获取每行中的第二个和第三个内容,将第二个内容存储在%%A中,将第三个内容存储在%%B中,然后以问题中提到的格式显示这两个内容,并将其重定向到new_file.txt。(请注意,如果您认为要多次运行该脚本,则应该在此之前添加一行以删除new_file.txt,否则只会将这些行附加到现有文件的末尾。)

票数 0
EN

Stack Overflow用户

发布于 2021-03-24 10:06:20

看看像这样的东西是不是你要找的..

代码语言:javascript
复制
% 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

输出为:

代码语言:javascript
复制
% cat stuff2.txt
word01 word01(translated)
word02 word02(translated)
word305 word305(translated)

然后,您可以按需插入=,如下所示:

代码语言:javascript
复制
% sed 's/ / = /' stuff2.txt
word01 = word01(translated)
word02 = word02(translated)
word305 = word305(translated)

然后,全部放在一行中:

% cut -d' ' -f2- stuff.txt | sed 's/ / = /' > stuff2.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66773701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档