我有一个文本文件。
number 1_1 \t number1_2 \t etc
number 2_1 \t number2_2 \t etc
Run Code Online (Sandbox Code Playgroud)
我想删除此文件的第一列(对应于 number1_1、number2_1 等,即每行第一个选项卡之前的数字)。我读了这篇文章,其中提出了删除第一列的解决方案(请参阅彼得的回答)。但是,它对我不起作用,因为数字具有不同的大小,并且我无法重复删除第一列的操作。那我该怎么办?
我正在尝试从 JSON 文件中提取信息并将一些内容写入 CSV 文件。
这是我的文字示例
"data":{"headers":{"sender":"frank@abc.com"
"to":"jim@def.com"
"subject":"Help with this project"
"x-received-time":"14144273245408"
"received":"from abc.com ()\r\n by mail.mail.com with SMTP (Postfix)\r\n for jim@def.com;\r\n Mon
"from":"\"Help with this project\" <frank@abc.com>"
"date":"Mon, 27 Oct 2014 09:03:14 -0500"
"id":"1414427328-2345855-frank"
"to":"jim@def.com"
"time":14144273245408
"subject":"Help with this project"
"fromfull":"frank@abc.com"
Run Code Online (Sandbox Code Playgroud)
我想从以下位置获取内容:to、fromfull、id、subject、date 并将其写入 csv 文件,其中 To 是 A 列,fromfull 是 B 列,依此类推。
任何人都可以提供任何帮助吗?这是一个 JSON 响应。
我有两个文本文件(比如text1.txt和text 2.txt),它们的行数相同。前任。text1.txt包含 4 个条目
0127H
0132H
0982H
1772H
Run Code Online (Sandbox Code Playgroud)
text2.txt 包含 4 个条目
stev
mary
beautiful
ugly
Run Code Online (Sandbox Code Playgroud)
现在我的任务是创建 4 个文本文件作为
0127H.txt 包含装有 stev
0132H.txt 包含装有 mary
0982H.txt 包含装有 beautiful
1772H.txt 包含装有 ugly
即第一行text1.txt必须是文件名,相应的条目将是text2.txt.
我恳请您帮助我摆脱所提出的问题。
例子:
1:20 2:25 3:0.432 2:-17 10:12
Run Code Online (Sandbox Code Playgroud)
我想替换所有以to开头的字符串。2:2:0
输出:
1:20 2:0 3:0.432 2:0 10:12
Run Code Online (Sandbox Code Playgroud) 我有两个文件:
k.txt:
3 5 7 9 19 20
Run Code Online (Sandbox Code Playgroud)
h.txt:
000010
100001
111001
Run Code Online (Sandbox Code Playgroud)
如果我只使用 cat,则没有换行符。我需要一个命令来提供一个如下所示的文件:
3 5 7 9 19 20
000010
100001
111001
Run Code Online (Sandbox Code Playgroud) 我知道 sed 可以像这样替换文本文件中的一段字符串:
sed -i 's/oldstring/newstring/g' test.txt
Run Code Online (Sandbox Code Playgroud)
但是,如果该行存在,我该如何替换它,如果它不存在,如何自动将其添加到新行中?
谢谢。
编辑:感谢您的回复。根据您对评论和回答的要求,这里有更多详细信息:
我有一个文件test.txt,其中包含以下结果:
service_name1= apple/ball/cat/dog/egg/12.34.56/ball/apple
service_name2= fan/girl/house/ice/joker/23.45.67/fan/girl
Run Code Online (Sandbox Code Playgroud)
等等直到 service_name1500
我想要这样的输出:
egg 12.34.56
joker 23.45.67
Run Code Online (Sandbox Code Playgroud)
依此类推:版本号以及之前的单词。
我有 10 个字段,我想从第 5 个字段开始到第 10 个字段并忽略前 5 个字段。我如何在 awk 中使用 NF 来做到这一点?
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10
Run Code Online (Sandbox Code Playgroud)
我只想显示:
f6 f7 f8 f9 f10
c6 c7 c8 c9 c10
Run Code Online (Sandbox Code Playgroud) 我有一个包含这一行的文本文件:
set stime = '0 0'
Run Code Online (Sandbox Code Playgroud)
我需要将其更改为:
set stime = '0 4'
Run Code Online (Sandbox Code Playgroud)
我试过这些命令:
sed -i 's/original/new/g' file.txt
Run Code Online (Sandbox Code Playgroud)
和
awk '{gsub(/pattern/,"replacement")}' file
Run Code Online (Sandbox Code Playgroud)
但它们不起作用。我想这是因为模式中的撇号。我怎样才能正确地做到这一点?