标签: text-processing

查找文件并用某些特定单词替换单词

找到一些特定的文件,然后一旦找到一个文件,我想要一些特定的词,然后用一个新的词替换它。我可以用一行来做吗?

例如,我想找到一个文件 'file.txt' 并在该文件中使用单行命令搜索read和替换它write

command-line text-processing

4
推荐指数
1
解决办法
323
查看次数

将过滤后的输出重定向到文件

我将输出重定向到一个文件中,然后得到如下信息:

|  id  | code | color_code | 
-------+------+------------+
|11A00B|  15  | 9129102    |
|11A00C|  16  | 9129103    |
(2 rows)

|  id  | code | color_code | 
-------+------+------------+
|11B00B|  25  | 9129152    |
|11B00C|  36  | 9129162    |
(2 rows)

|  id  | code | color_code | 
-------+------+------------+
|11C00B|  22  | 9129107    |
|11C00C|  9   | 9129108    |
(2 rows)
Run Code Online (Sandbox Code Playgroud)

如何将其转换为 csv 样式,例如:

|  id  | code | color_code | 
|11A00B|  15  | 9129102    |
|11A00C|  16  | 9129103 …
Run Code Online (Sandbox Code Playgroud)

command-line bash pipe text-processing

4
推荐指数
2
解决办法
318
查看次数

如何根据另一个字段的内容替换文件中的特定字段?

我有一个具有以下格式的文件:

A 485C72F95C72E15C EXTERNAL
B CC32480A3247F84A SYSTEM
C EC2A63F12A63B76C EXTERNAL
Run Code Online (Sandbox Code Playgroud)

我想使用变量“字母”的值提供第一列中的字母,并将第二列中的值替换为我在变量“id”中提供的值。在任何情况下,第三列可能不同或不匹配。第一列和第二列永远不会包含空格或特殊字符。

我尝试使用sed,但我的 sed-fu 不强。我想出了这个:

letter=A
id=MYNEWIDSTRING
sed "/$letter /s/[^ ]*/$id/2"
Run Code Online (Sandbox Code Playgroud)

输出是:

A MYNEWIDSTRING EXTERNAL
B MYNEWIDSTRING SYSTEM
C EC2A63F12A63B76C EXTERNAL
Run Code Online (Sandbox Code Playgroud)

id 被替换为两行,我假设这是由于在原始 id 字符串的末尾匹配了 'A '。

我知道用来sed -i就地编辑文件,但还没有这样做,因为我的命令仍然有点狡猾。

我哪里出错了,还是应该使用不同的方法?

command-line bash sed text-processing

4
推荐指数
2
解决办法
5384
查看次数

从多行文件中复制特定文本并使用终端自动将其粘贴到另一个文件中

我的问题是关于文本处理:

在列表中,我有以下格式的 IP 地址和计算机名称:

IP address: 192.168.1.25
Computer name: computer7office
IP address: 192.168.1.69
Computer name: computer22office
IP address: 192.168.1.44
Computer name: computer12personal
Run Code Online (Sandbox Code Playgroud)

我需要的输出:

This computer ip address is xxx.xxx.x.xx and is under the name zzzzzzzzzz
Run Code Online (Sandbox Code Playgroud)

如何使用命令行自动将列表中的 IP 和名称复制到输出文件?你能解释一下你的命令吗,因为当我不得不复制/粘贴我不理解的东西时很遗憾。

command-line bash text-processing

4
推荐指数
2
解决办法
2363
查看次数

在另一个文件中搜索 AWK 的输出

我有两个文件fileA和fileB。

我必须从 fileA 中提取 column1 awk '{print $1}',然后将输出搜索到其他 fileB 中,并将匹配的记录保存到一个新文件 fileC 中,例如:

fileA

seg1     rec1
seg2     rec2
seg3     rec3 
Run Code Online (Sandbox Code Playgroud)

我需要使用 awk 命令检索第 1 列,并搜索第 1 列fileB以检索如下记录:

fileB

seg1     one
seg2     two
seg3     three
seg4     four
seg5     five
Run Code Online (Sandbox Code Playgroud)

从文件A 中提取列1 数据,并使用该数据在文件B 中进行搜索,并将匹配的记录保存到测试文件中。我的输出应该是这样的:

fileC

seg1       one
seg2       two
seg3       three
Run Code Online (Sandbox Code Playgroud)

command-line awk text-processing

4
推荐指数
1
解决办法
4855
查看次数

在多个文件中的电子邮件地址周围添加一些文本

我在一个文件夹中有许多文本文件。其中的文本格式如下:

%%%%%%%%%%@yahoo.com
%%%%%%@wanadoo.fr
%%%%raviplywoodglasscentre@yahoo.comravi
%%nameemail%%@yahoo.com
%.getincontact@numberland.com
%0dronbracale@roadrunner.com
%1%3@example.com
%1@elsewhere.com
%1@example.com
Run Code Online (Sandbox Code Playgroud)

我想对所有文件文本进行更改并使它们如下所示:

{"email":"%%%%%%%%%%@yahoo.com"}
{"email":"%%%%%%@wanadoo.fr"}
{"email":"%%%%raviplywoodglasscentre@yahoo.comravi"}
{"email":"%%nameemail%%@yahoo.com"}
Run Code Online (Sandbox Code Playgroud)

我想制作这样的完整文件,它们位于文件夹中。
我试过这个:

awk '{ printf("{"email":"%s"}", $l);}' test
Run Code Online (Sandbox Code Playgroud)

但它没有用。

那么,有什么方法可以修改文件夹中所有文件中的文本吗?

command-line awk text-processing

4
推荐指数
2
解决办法
364
查看次数

如何从两个文件中提取不常见的不区分大小写的文本?

我试图从文件中提取不常见的文本,我试过这个:

awk 'FNR==NR {a[$0]++; next} !a[$0]' 1.txt 2.txt
http://PQR.com
http://example.com
Run Code Online (Sandbox Code Playgroud)

以下是输入文件:

File: 1.txt
http://google.com
http://GOOGLE.com
http://example1.com
http://seperate.com
http://pqr.com
File: 2.txt
http://PQR.com
http://example.com
http://google.com
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,http://pqr.com在文件中提供1.txthttp://PQR.com2.txt。和结果 display http://PQR.com,这在两个文件中都很常见。因此,我如何才能仅显示不常见的文本(不取决于文本的大小写)?

command-line text-processing 16.04

4
推荐指数
1
解决办法
410
查看次数

如何使用 cat 命令在文本文件中查找特定单词

我做了一些研究,但找不到任何帮助,我需要在文本文件中找到“war”这个词,我知道我可以使用该cat命令,但我需要以某种方式修改它,有人可以帮忙吗?

command-line text-processing cat

4
推荐指数
1
解决办法
4万
查看次数

将列添加到文本文件中,其中值为行号?

如何在文本文件中添加一列,其中的值是行号?

之前的文件:

Foo Ba Lk Q
Lorem ipsum doler
Run Code Online (Sandbox Code Playgroud)

文件后

1 Foo Ba Lk Q
2 Lorem ipsum doler
Run Code Online (Sandbox Code Playgroud)

等等

text-processing

4
推荐指数
1
解决办法
1676
查看次数

理解 sed 表达式以将每行的最后一个单词替换为第一个单词

我必须用第一个词替换每一行的最后一个词。代码是:

$ sed "s/\(^a-z,0-9]*\)\(.*\)\([a-z,0-9]*$\)/\1\2\1\g". 
Run Code Online (Sandbox Code Playgroud)

这部分我\(^a-z,0-9]*\)\(.*\)\([a-z,0-9]*$\)特别不明白\(.*\)

command-line sed text-processing

4
推荐指数
1
解决办法
2789
查看次数

标签 统计

text-processing ×10

command-line ×9

bash ×3

awk ×2

sed ×2

16.04 ×1

cat ×1

pipe ×1