AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-660190

deepblue's questions

Martin Hope
deepblue
Asked: 2022-03-26 04:08:09 +0800 CST

使用通配符用 sed 删除整行

  • 0
E219 E36 C5X       
C201 C19 C5X

E229 E36 C5X  
E239 E36 C5X  
C311 C19 C5X

在这个文件示例中,我需要删除所有包含 C[0-9][0-9][0-9] 的行。如何使用 sed 命令执行此操作?输出应该是:

E219 E36 C5X       
E229 E36 C5X  
E239 E36 C5X  

我尝试了以下代码:

 sed -i '/^C[0-9][0-9][0-9]$/d' data 

但它不起作用。

command-line
  • 1 个回答
  • 19 Views
Martin Hope
deepblue
Asked: 2021-10-04 02:48:39 +0800 CST

删除行包括高于确定阈值的值

  • 0

我有一个数据文件,例如:

数据:

arht    -0.1006 0.0001  0.0147  100     arht    0.0012  -0.0002 0.0182  100
arht    -0.0006 1.0006  0.0133  100     arht    0.1011  0.0003  0.0175  100
bcmn     0.0005 0.0011  0.0165  100     bcmn    0.0015  0.0007  0.0197  100
ffgf    -0.0009 0.0012  0.0121  100     ffgf    0.0007  0.0010  0.0150  100
ffgf    -0.0004 0.0009  0.0105  100     ffgf    0.1008  0.0006  0.0151  100

我使用以下命令提取包含高于 2-3-4 和 7-8-9 列的绝对值 0.10 的值的行:

awk 'sqrt($2*$2)<=.1 || sqrt($3*$3)>=.1 || sqrt($4*$4)>=.1 || sqrt($7*$7)>=.1 || sqrt($8*$8)>=.1 || sqrt($9*$9)>=.1 {print}' data > output

我需要从数据文件中删除这些行。如何修改上面的代码?

text-processing
  • 1 个回答
  • 29 Views
Martin Hope
deepblue
Asked: 2021-10-03 03:49:19 +0800 CST

在文本文件中提取大于阈值的值?

  • 0

我有一个数据文本文件如下:

数据=

arht    -0.0006 0.0001  0.0147  100.0   100.0
arht    -0.0006 0.0006  0.0133  100.0   100.0
bcmd    -0.0016 0.0010  0.0168  100.0   100.0
bcmd    -0.1012 0.0010  0.0184  100.0   100.0
bcmd     0.2011 0.0024  0.0126  100.0   100.0
.
.
.

我需要为 2、3 和 4 列提取大于 0.10 和 -0.10 的行。对于上面的示例,最后两行中的 2、3 和 4 列包含大于 0.10 和 -0.10 的值。然后,输出文件应该是:

输出:

bcmd    -0.1012 0.0010  0.0184  100.0   100.0
bcmd     0.2011 0.0024  0.0126  100.0   100.0
text-processing
  • 2 个回答
  • 106 Views
Martin Hope
deepblue
Asked: 2021-09-08 04:52:31 +0800 CST

使用通配符的 grep 命令 [0-9]

  • 0
grep ".0000000" data > output

我在数据文本文件中提取所有以 .0000000 结尾的数字数据。当我使用通配符更改此代码时,如下所示:

grep ".[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" data > output

上面的代码应该提取以点后任何七位数字结尾的所有数字数据,但它并没有按预期工作。如何修改上述代码以提取所有以点后任意七位数字结尾的数字数据?

text-processing
  • 1 个回答
  • 1048 Views
Martin Hope
deepblue
Asked: 2021-01-26 04:59:44 +0800 CST

使用文件的 grep 命令的用法包括数字序列

  • 0

我有一个包含以下数字序列的数据文件(seq_array):

seq 640094400 60 640180770

我还有另一个文件(data_file),其中包含需要针对“seq_array”提取的数据。例如;

grep "640094400" data_file > first_grep
grep "640094460" data_file > second_grep
grep "640094520" data_file > third_grep
.
.
grep "640180770" data_file > last_grep
cat "all_greps" > final_grep

如何使用更紧凑的代码执行上述 grep?

grep
  • 1 个回答
  • 31 Views
Martin Hope
deepblue
Asked: 2019-11-29 22:10:27 +0800 CST

提取文本文件中第一个和第二个重复字符串之间的特定行

  • 1

我的数据文件如下所示:

#cP2019  6 30  0  0  0.00000000     192 ORBIT IGS14 BHN ESOC                    
## 2060      0.00000000   900.00000000 58664 0.0000000000000                    
+   54   G18G14G13G28G21G11G22G20G16G19G23G02G31G17G12G15G29                    
+        G07G05G25G01G30G24G27G06G09G03G26G08G10G32R10R12R13                    
+        R19R20R01R22R24R23R16R04R08R03R07R02R18R21R09R17R14                    
+        R11R05R15  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
++         7  4  4  5  5  4  5  5  5  4  4  5  4  4  5  4  5                    
++         4  4  5  5  5  5  4  4  5  6  5  5  5  4  6  6  5                    
++         6  6  6  5  5  6  6  5  5  6  5  6  5  5  5  5  6                    
++         6  6  5  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0                    
%c M  cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc                    
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc                    
%f  0.0000000  0.000000000  0.00000000000  0.000000000000000                    
%f  0.0000000  0.000000000  0.00000000000  0.000000000000000                    
%i    0    0    0    0      0      0      0      0         0                    
%i    0    0    0    0      0      0      0      0         0                    
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
*  2019  6 30  0  0  0.00000000  
....... data ......
....... data ......
....... data ......
*  2019  6 30  0 15  0.00000000   
....... data ......
....... data ......
....... data ......
*  2019  6 30  0 30  0.00000000    
....... data ......
....... data ......
....... data ......

and goes on like this ...  

我需要为每个数据文件提取第一个和第二个日期之间的行。我可以应用以下代码来提取这些行,如下所示:

sed -n '/*  2019  6 30  0  0/,/*  2019  6 30  0 15 /p' esu20601_00.sp3 > extract_1

但是每个文件的数据日期和位置都不同。所以我需要为每个文件提取第一* 2019和第二之间的行。* 2019我怎样才能使用代码做到这一点?

text-processing
  • 1 个回答
  • 319 Views
Martin Hope
deepblue
Asked: 2019-06-18 07:44:07 +0800 CST

文本文件中的算术运算

  • 1

我有一个数据文件如下;

569158.650000 8.859e-02
579175.970000 8.659e-02
599177.990000 8.659e-02

我需要从第一列中提取第一行值。然后我需要将第一列除以 3600。最后,我需要将结果粘贴为新数据文件中的第一列,如下所示;

0 8.859e-02
2.78 8.659e-02
8.33 8.659e-02

如何使用代码进行上述计算?

scripts
  • 2 个回答
  • 53 Views
Martin Hope
deepblue
Asked: 2018-07-03 07:54:31 +0800 CST

提取特定列并将其粘贴到另一个文本文件中

  • 1

我有两个文本文件。我需要复制一个文本文件的 5-6-7 列并将这些列粘贴到另一个文本文件中。例如,文本文件的第一列如下;

文本1

E    GPS41  0  5.68026000000000E+08  1.09767623810000E+04 -1.66840300460000E+04  1.77051348440000E+04

text_2

E GPS41 568026000 0.000000000000000E+00 1.097676240456553E+04 -1.668403004627044E+04 1.770513486005421E+04 2.140299562139315E+00 -5.351523203487980E-01 -1.876979500368582E+00 1.714052588162549E-05 1.390618031795355E-05 8.605165964871206E-06 3.266367837880071E-09 3.392831966908295E-09 1.626218351208862E-09

我需要复制 text_1 的第 5-6-7 列并将它们粘贴到 text_2 如下;

新文本

   E GPS41 568026000 0.000000000000000E+00 1.09767623810000E+04 -1.66840300460000E+04  1.77051348440000E+04 2.140299562139315E+00 -5.351523203487980E-01 -1.876979500368582E+00 1.714052588162549E-05 1.390618031795355E-05 8.605165964871206E-06 3.266367837880071E-09 3.392831966908295E-09 1.626218351208862E-09

注意:这个问题与我之前的问题不同。

text-processing
  • 1 个回答
  • 1018 Views
Martin Hope
deepblue
Asked: 2018-07-03 03:47:58 +0800 CST

复制和粘贴两个文本文件之间的列

  • 1

我有两个文本文件。我需要复制一个文本文件的 5-6-7 列并将这些列粘贴到另一个文本文件中。例如,文本文件的第一列如下;

文本1:

E GPS41 568026000 0.000000000000000E+00 1.097676240456553E+04 -1.668403004627044E+04 1.770513486005421E+04 2.140299562139315E+00 -5.351523203487980E-01 -1.876979500368582E+00 1.714052588162549E-05 1.390618031795355E-05 8.605165964871206E-06 3.266367837880071E-09 3.392831966908295E-09 1.626218351208862E-09

文本_2:

E    GPS41  0  5.68026000000000E+08  1.09767623810000E+04 -1.66840300460000E+04  1.77051348440000E+04

我需要复制 text_1 的第 5-6-7 列并将它们粘贴到 text_2 如下;

新文本:

E    GPS41  0  5.68026000000000E+08 1.097676240456553E+04 -1.668403004627044E+04 1.770513486005421E+04 
text-processing
  • 1 个回答
  • 768 Views
Martin Hope
deepblue
Asked: 2018-01-03 04:47:39 +0800 CST

删除文件时排除某些文件和目录

  • 11

我的顶级目录是data. data包括几个目录,这些目录有子目录。我需要删除data/除某些目录中的几个文件之外的所有文件和目录。

例如,数据包括目录100和101. 我只想保留a.txt和b.txt中的文件100/和文件,同时删除和中的所有其他文件c.txt和目录。d.txt101/100101

例子:

.
├── 100
│   ├── a.txt
│   ├── b.txt
│   ├── c.txt
│   └── d.txt
└── 101
    ├── a.txt
    ├── b.txt
    ├── c.txt
    └── d.txt

我使用rm -rf !(a.txt|b.txt)命令,但我不能自动将此命令应用于每个目录。

command-line
  • 2 个回答
  • 1622 Views
Martin Hope
deepblue
Asked: 2017-09-15 03:42:07 +0800 CST

如何合并来自不同文本文件的两列?

  • 1

text1:

    ankr 
    ankr
    ankr
    brmu
    brmu

text2:

    jplg1730.17i
    jplg1750.17i
    jplg1770.17i

我需要创建这个文本文件:

merged_file:
    ankr_jplg1730.17i
    ankr_jplg1750.17i
    ankr_jplg1770.17i
    brmu_jplg1730.17i
    brmu_jplg1750.17i

如何将此文本文件与代码合并?

command-line
  • 2 个回答
  • 433 Views
Martin Hope
deepblue
Asked: 2017-08-18 00:16:13 +0800 CST

sed:-e 表达式 #1,字符 56:“s”的未知选项 [重复]

  • 1
这个问题在这里已经有了答案:
sed 搜索并用包含斜杠的变量替换 1 个答案
5年前关闭。

我有几个目录和子目录包括文本文件。我需要为所有目录和子目录更改这些文本文件的特定行。我使用下面的 sed 命令来执行此任务;

find ./ -type f -exec sed -i -e 's/old_line/new_line/g' {} \;

如果 old_line 和 new_line 中没有空格,它就可以工作。但它不适用于以下示例;

old_line=5704550660          SPP91564_2                              ANT # / TYPE

new_line=5704550660          SPP91564_2      NONE                    ANT # / TYPE

当我在上述 sed 命令中附加这些行时,我收到;

sed: -e expression #1, char 56: unknown option to `s'

对于上面的例子,我如何修改上面的命令才能正常工作?

command-line
  • 1 个回答
  • 881 Views
Martin Hope
deepblue
Asked: 2017-03-02 02:50:18 +0800 CST

替换文件中包含撇号的模式

  • 7

我有一个包含这一行的文本文件:

set stime = '0 0'

我需要将其更改为:

set stime = '0 4'

我尝试了这些命令:

sed -i 's/original/new/g' file.txt

和

awk '{gsub(/pattern/,"replacement")}' file 

但他们不工作。我想这是因为模式中的撇号。我怎样才能正确地做到这一点?

command-line
  • 2 个回答
  • 4181 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve