标签: text-processing

在终端中从文本复制到文本

我是社区的新手,这是我的第一个问题,我希望我做对了。

我的问题:我正在学习一些网络和分析,并且有很长的 MAC 地址列表,我想使用命令行将它们放在同一个句子中,但我不知道如何。

示例: MAC 地址:

xx:xx:xx:xx:xx:xx:xx:xx
yy:yy:yy:yy:yy:yy:yy:yy
zz:zz:zz:zz:zz:zz:zz:zz
Run Code Online (Sandbox Code Playgroud)

我需要的输出:

The mac address xx:xx:xx:xx:xx:xx:xx:xx is not found - but...
The mac address yy:yy:yy:yy:yy:yy:yy:yy is not found - but...
The mac address zz:zz:zz:zz:zz:zz:zz:zz is not found - but...
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我希望你有时间帮助和原谅我的无知,我还在学习,如果我没有花一些时间搜索,我不会问。我看到人们使用 sed、awk 和 perl,但我不明白整个 linux 世界对我来说都是新的。请向我提供有关命令的一些解释,以便我下次学习如何自己做。

command-line bash text-processing

5
推荐指数
1
解决办法
142
查看次数

从多个文件中删除特定字符串的命令

我有一个dash7/包含多个文本文件的目录,我想D PRINT从所有这些文件中删除包含字符串的所有行。

我怎样才能从命令行轻松地做到这一点?

command-line text-processing

5
推荐指数
1
解决办法
3881
查看次数

如何将完整文件转换为特定格式?

我有一个 1 GB 的文件,想将其转换为某种格式。该文件包含以下 URL:

google.com
trafficinviter.com
example.com
Run Code Online (Sandbox Code Playgroud)

我想以这种格式转换完整的内容:

"http://google.com","http://trafficinviter.com","http://example.com"
Run Code Online (Sandbox Code Playgroud)

使用 Ubuntu。这正是 PHP 数组的格式。所以我想知道如何转换为这种格式并保存到另一个文件。

command-line text-processing 16.04

5
推荐指数
3
解决办法
649
查看次数

提取以sed中特定模式开头的行

我的输入文件是这样的:

IDno="1"
Name=Jack
Type=Student
IDno="2"
Name=Jill
Type=Teacher
Run Code Online (Sandbox Code Playgroud)

仅当类型为学生时,我才使用 sed 提取所有 IDno 和类型。

sed -e '/IDno=/b' -e '/Type=Student/b' d
Run Code Online (Sandbox Code Playgroud)

这让我得到了所有类型为 student 但不是 IDnos 的行。

我想得到

IDno="1"
Type=Student
IDno="2"
Run Code Online (Sandbox Code Playgroud)

但我得到

Type=Student
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

text command-line regex sed text-processing

5
推荐指数
1
解决办法
7164
查看次数

使用awk比较shell脚本中两个制表符分隔的文件

我已经编写了这段代码,但我面临着下面提到的问题。

我的代码是:

paste 1.txt   2.txt|
awk ' { FS = "\t " } ; NR == 1 { n = NF/2 }
              {for(i=1;i<=n;i++)
                 if($i!=$(i+n))
                   {c = c s i; s = "," }
               if(c)
                 {print "Line No. " NR-1 " COLUMN NO " c;
                  c = "" ; s = "" } } '
Run Code Online (Sandbox Code Playgroud)

预期输出:

Line No. 2 COLUMN NO 2,3
Line No. 4 COLUMN NO 1,2,3,4
Line No. 6 COLUMN NO 2,3,4,5
Line No. 7 COLUMN NO 1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

正在生成的输出: …

command-line scripts text-processing

5
推荐指数
1
解决办法
298
查看次数

如何使用 `awk` 在列中拆分文本?

如何提取第一列(“”中的第一列)

"xxxxx1" {685a}
"xx2" {bcdd}
"xx3 gsdd" {29a6ff}
"sdsdf xxx" {243b9}
"sdfsdf ccc dd" {c28f2f}
"dsdsf sfsdf" {216e}
"sdfsdfsd" {48530}
"sdfsdff" {9d2afa0n}
"sdfsdfdff sdfs" {d8681a}
"sdfsdsds sdfsdf d" {5b9b8}
"sdfsdfs sdf sdfsdf" {68e08a}
"sdfsdfsdf sdf" {107fa0}
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

"xxxxx1"
"xx2"
"xx3 gsdd"
"sdsdf xxx"
"sdfsdf ccc dd"
"dsdsf sfsdf"
"sdfsdfsd"
"sdfsdff"
"sdfsdfdff sdfs"
"sdfsdsds sdfsdf d"
"sdfsdfs sdf sdfsdf"
"sdfsdfsdf sdf"
Run Code Online (Sandbox Code Playgroud)

任何的想法?

command-line text-processing

5
推荐指数
1
解决办法
9433
查看次数

awk 编程:根据模式将大文件拆分为小文件

我有一个大文件 input.dat,如下所示。

kpoint1 :       0.0000    0.0000    0.0000
  band No.  band energies     occupation 
      1     -52.8287      2.00000
      2     -52.7981      2.00000
      3     -52.7981      2.00000
 kpoint2 :       0.0000    0.0000    0.0000
  band No.  band energies     occupation 
      1     -52.8287      2.00000
      2     -52.7981      2.00000
      3     -52.7981      2.00000
Run Code Online (Sandbox Code Playgroud)

我需要将文件拆分为 2 个较小的文件,如下所示

kpoint1.dat

kpoint1 :       0.0000    0.0000    0.0000
  band No.  band energies     occupation 
      1     -52.8287      2.00000
      2     -52.7981      2.00000
      3     -52.7981      2.00000
Run Code Online (Sandbox Code Playgroud)

kpoint2.dat

kpoint1 :       0.0000    0.0000    0.0000
  band No.  band energies     occupation 
      1     -52.8287      2.00000 …
Run Code Online (Sandbox Code Playgroud)

command-line bash awk text-processing

5
推荐指数
1
解决办法
3202
查看次数

将值从道尔顿转换为千道尔顿(值除以 1000)

我们如何使用 shell 命令将道尔顿值转换为千道尔顿?我有值的列表道尔顿。一千道尔顿有 1000 道尔顿,因此需要将每个值除以一千。

样本数据:

12345.09
236575.665
18865.41
45678.87
Run Code Online (Sandbox Code Playgroud)

期望的输出:

12.34509
236.575665
18.86541
45.67887
Run Code Online (Sandbox Code Playgroud)

command-line text-processing

5
推荐指数
3
解决办法
1549
查看次数

多个文件文本替换为 sed

我尝试将文本文件中的某些文本替换为 ,sed但不知道如何使用多个文件进行替换。
我用:

sed -i -- 's/SOME_TEXT/SOME_TEXT_TO_REPLACE/g /path/to/file/target_text_file
Run Code Online (Sandbox Code Playgroud)

在我使用多个文件之前,我使用以下命令在文本文件中打印了目标文本文件的路径:

find /path/to/files/ -name "target_text_file" > /home/user/Desktop/target_files_list.txt
Run Code Online (Sandbox Code Playgroud)

现在我想sed按照target_files_list.txt.

bash find sed text-processing

5
推荐指数
1
解决办法
8559
查看次数

如何在 csh 中为命令的输出设置变量?

我在文本文件中有一个数字,例如:

int_width: 5230
Run Code Online (Sandbox Code Playgroud)

我想将此数字 (5230) 设置为csh. 什么是正确的形式?(grep 在设置前工作)

set WIDTH = "$(grep int_width  *.txt | sed 's/[^0-9]*//g')"
Run Code Online (Sandbox Code Playgroud)

command-line text-processing csh

5
推荐指数
1
解决办法
8053
查看次数

标签 统计

text-processing ×10

command-line ×9

bash ×3

sed ×2

16.04 ×1

awk ×1

csh ×1

find ×1

regex ×1

scripts ×1

text ×1