这是我在学习sed过程中的第3篇文章.我有一个假设的要求.我希望能够用'was'替换每行中的第三个单词,其中单词由空格分隔.
bash$ cat words
hi this is me here
hi this is me again
hi this is me yet again
hi this is me
Run Code Online (Sandbox Code Playgroud)
期望的输出:
hi this was me here
hi this was me again
hi this was me yet again
hi this was me
Run Code Online (Sandbox Code Playgroud)
人们可以帮助解决如何使用sed.我尝试了一些执行指令,但没有奏效.谢谢,
Jagrati
我找到了!我找到了!
好的,我终于得到了正确的指示.这有效:
sed -e 's/[^ ]*[^ ]/was/3' words
Run Code Online (Sandbox Code Playgroud) 我有一个A表格的文件(频率,文件名,代码行):
1 file_name1 code_line1
2 file_name2 code_line2
2 file_name2 code_line3
2 file_name3 code_line4
2 file_name3 code_line5
3 file_name4 code_line6
3 file_name4 code_line7
3 file_name4 code_line8
Run Code Online (Sandbox Code Playgroud)
我希望输出B为:
1 file_name1 code_line1
2 file_name2 code_line2
2 file_name2 code_line3
2 file_name3 code_line4
2 file_name3 code_line5
3 file_name4 code_line6
3 file_name4 code_line7
3 file_name4 code_line8
Run Code Online (Sandbox Code Playgroud)
基本上该文件A包含文件中的文件名和代码行,第一个字段是频率,即文件中的代码行数.
我应该明智地通过这些代码行文件.我发现它很乏味,如果不同文件的条目之间存在线间距,那么对我来说会更容易,因此需要输出.
我读过:
在txt [1..n]中搜索子字符串pat [1..m],可以在O(m)时间内解决(在O(n)时间内构建了txt的后缀树之后).
但是在每个点上,我们必须选择要采用的分支,因此在n-ary树中,在每个节点处,我们必须与该节点中的所有最大n个指针进行比较,以决定采用哪个分支.这不会给这个算法的复杂性带来因素,不知何故在图片中
那么如何在O(m)中找到子串呢?
我在这里错过了什么?
我有一些关于C++中运算符重载的基本问题.
我正在阅读"Thinking in C++,第1卷",它说无法重载的运算符是成员选择运算符.,成员解除引用运营商*.所以看起来其他运营商可能会超载
我可以重载和操作员吗?但是这不会混淆编译器,如果我将它实现为前缀运算符或者它是否隐藏其默认含义?
在引用公共成员的代码中,我确实喜欢ptr - > data_member
我理解编译器会处理它并将此引用与数据成员绑定在一起,因此在运行时根本看不到这种情况,并且 - >不会将运算符视为运算符.这种理解是否正确?
另外,虚拟概念仅适用于成员函数而不适用于数据成员,对吧?所以在运行时如果Base指针指向Derived类,我不能从这个指针访问Derived类的成员?
我可以超载 - >运营商吗?但是如果我将它作为前缀运算符重载,那么这不会混淆编译器
如果问题没有明确表达,请告诉我.
是否有一些内置的运算符重载由编译器等每个类
我有一个进程的多个实例(即使用通用命令行)。我真想一口气把他们全部杀掉。如何实现?
我正在学习使用sed并有一个假设的要求:
bash$ cat states
California
Massachusetts
Arizona
Wisconsin
Run Code Online (Sandbox Code Playgroud)
我想输出:(基本上我只需要一个空行)
California
Massachusetts
Arizona
Wisconsin
Run Code Online (Sandbox Code Playgroud)
请建议使用sed的方法.它应该使用多线模式空间等的概念吗?
谢谢,
Jagrati
回答其中一条评论,好的,我运行了一些测试脚本,而错误的假设是地址空间选择标准只应用一次.它似乎一次又一次被激活.
bash$ cat file
a
b
c
a
b
c
bash$ sed -e '/a/,/b/s/$/x/g' file
ax
bx
c
ax
bx
c
Run Code Online (Sandbox Code Playgroud)
我的印象是它会产生:
ax
bx
c
a
b
c
Run Code Online (Sandbox Code Playgroud)
那么有人可以解释在逗号分隔的地址空间的情况下sed是如何进行的.
我认为MySQL是轻量级的RDBMS,主要用于学术界,用于教授学生SQL的基础知识,并让他们对使用DBMS有一定的了解.MySQL还用于其他开源产品.
我倾向于相信,通过免费的东西,你可以得到你付出的代价,所以我想知道MySQL是否被那些能够负担得起Oracle的人使用.
这个行业中的任何大企业 - 比如谷歌,雅虎,亚马逊,微软等 - 都会使用MySQL吗?
$cat test
export var=value
$./test
$echo $var
Run Code Online (Sandbox Code Playgroud)
我一无所获.我期待看到价值.
我有一个字符串places ="city,city,town".我需要得到"城市,城镇".基本上摆脱逗号分隔字符串中的重复条目.
places.split( ""); 会给我一个String数组.我想知道,如果我可以将此数组传递给HashSet或其他东西,它将自动摆脱重复,但尝试类似于:
HashSet test=new HashSet(a.split(","));
Run Code Online (Sandbox Code Playgroud)
给出错误:
cannot find symbol
symbol : constructor HashSet(java.lang.String[])
Run Code Online (Sandbox Code Playgroud)
任何实现这一目标的巧妙方法,最好用最少量的代码?
我正在使用bash shell
$cat test
a --b
$grep '--b' test
grep: option `--b' is ambiguous
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$grep "--b" test
grep: option `--b' is ambiguous
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$grep '\-\-b' test
a --b
Run Code Online (Sandbox Code Playgroud)
7.7节"引用"中的第7章"输入和输出,文件和命令评估"中的经典shell脚本
"单引号强制shell按字面意思处理引号之间的所有内容".
那么为什么单引号不起作用呢?