我希望使用"sed“命令将Linux路径更改为Windows路径,例如:
Linux:/opt/test/dash/apps/tomcat到Windows:c:\test\dash\apps\tomcat
我试过:
sed -i 's|'/opt/test/dash/apps/tomcat'|'c:\\\\\\\test\\\\\\\dash\\\\\\\apps\\\\\\\tomcat'|g' /filename - But no luck!!
我想要的全部/opt/应该用c:\替换,其余的"/“应该替换为"\
想知道最快的方法是从列表中的一些分隔字段中删除文本。
我的清单是这样的:
text text:number:text:text:text:text:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*
我想让它看起来像这样
text text:*:*:*:*:text:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*
因此,有些有数据的字段需要用星号替换,有些字段需要保持不变,分隔符不一致(第一字段和第二字段由空格分隔)。这是在linux文件系统上进行的,最好是以内联方式在文件上这样做。
非常感谢你的帮助!
我在记录中有一个文本文件,如下所示
BOOK|100004
TRAN|A
ANAM|Alberta
TNAM|The School Act; the School Assessment Act. The Tax Recovery Act. The School Grants Act. The School Attendance Act and General Regulations of the Department of Education
PBLS|King's Printer
SUB1|Alberta, Canada, Canadian Prairies, N
案文如下:
We will now present the Linux ls command
... here description of ls
We will now present the Linux cd command
... here description of cd
... more description
Done
下面的sed替换正则表达式应用于文本。
sed 's/.*Linux \(.*\) .*/\1:/' ex2.txt
,它提供以下输出
ls:
... here description of ls
cd:
...
假设我有一个以Unix格式创建的文件。现在,在将该文件发送到窗口之前,必须完成EOL转换。
我需要在bash中这样做,这就是我到目前为止所拥有的:
为了简单起见,假设我的文件名为file_linux.txt,它提供以下输出:
cat -A file_linux.txt
first line$
second line$
third line$
file file_linux.txt
file_linux.txt: ASCII text
因此,似乎我只需要在$符号之前添加回车(^M或\r)。
我的想法是使用sed将$替换为\r$,方法如下:
sed 's/$/\r$/g' fil
我希望匹配使用sed和regex通过管道传递的多个文件扩展名。
以下工作:
sed '/.\(rb\)\$/!d'
但是,如果我希望允许多个文件扩展名,下面的内容将无法工作。
sed '/.\(rb\|js\)\$/!d'
sed '/.\(rb|js\)\$/!d'
sed '/.(rb|js)\$/!d'
对于如何做任何/或内部小组,有什么想法吗?
下面是整个代码块:
#!/bin/sh
files=`git diff-index --check --cached $against | # Find all changed f
我有一个字符串!Rails.env.dev? || params['render_javascript']。我想用render_javascript替换这个字符串。如果我一个文件一个文件地做,会有很多工作要做。我尝试使用unix命令,如下所示,但没有成功。
for i in $(find . -name "*.rb")
do
sed 's/!Rails\.env\.dev\? \|\| params\['render_javascript'\]/render_javascript/g' $i > x
我以为+和*都是贪婪的。为什么+在这个上下文中似乎不匹配,但是*是否匹配?
$ cat test
a
$ sed -i 's/^[ \t]+//g' test
$ cat test
a
$ sed -i 's/^[ \t]*//g' test
$ cat test
a
这些只是a之前的空格(不是制表符),但是单独的制表符,或者两者的混合,会导致相同的结果。
这是在sed (GNU sed) 4.2.2上。
我正在温习我的正则表达式,看看我能做些什么,同时也在其中缩小了我的标准编码风格。然后我写了一个小的代码片段,它应该可以工作,但是不能工作。所以我不断地将它简化为最基本的形式,但仍然没有做我想要做的事情:
echo "a" | sed -e 's/a+/A/g'
为什么它不输出
A
我只是不明白为什么这不起作用..。
通过使用linux命令在两个分隔符之间获取一个字符串,我遇到了一些问题。
我正在尝试使用sed从TEST|LOL中检索"AA CC [[TEST|LOL]] EE FF"。
我使用了这个命令,但是它给了我一个错误,invalid reference \1 on 1 s commands RHS
我现在正在使用的命令:
echo "AA CC [[TEST|LOL]] EE FF" | sed 's/.*[[\(.*\)]].*/\1/g'
那么,是否有可能修复该命令?或者可能在不使用IFS的情况下创建bash脚本?
如何在每个后面跟着字母Q和一个整数的整数处换行?
例如:
echo "Lorem ipsum Que Q94 dolor sit amet, Q3004 consectetur adipiscing
elit. Q1 Idcirco enim non desideraret" | sed -e $'s/Q\([0-9]\)/\\\nQ\1/g'
生成以下不正确的结果:
Lorem ipsum Que
Q4 dolor sit amet,
Q004 consectetur adipiscing elit.
Q Idcirco enim non des