我需要为目录中的所有文件在第一个/>之后追加一个新字符串。
这是我的剧本:
#!/bin/bash
find ./ -type f -print0 | while IFS= read -r -d '' myfile; do
sed -i '0,/\/>/asome text here' $myfile
done
然而,似乎所有的\n也是匹配的。例如,如果一个文件是这样的:
abc
def
<abc/>
<abc/>
在执行我的脚本之后,我将得到如下结果:
abc
some text here
def
some
我有一个文本文件,我需要从bash脚本中提取匹配。可能有一个以上的匹配,其他一切都应该被丢弃。
input.txt文件内容的示例片段:
PART TWO OF TWO PARTS-
E RESNO 56/20 56/30 54/40 52/50 TUDEP
EAST LVLS NIL
WEST LVLS 310 320 330 340 350 360 370 380 390
EUR RTS WEST NIL
NAR NIL-
REMARKS.
1.TMI IS 142 AND OPERATORS ARE REMINDED TO INCLUDE THE
TMI NUMBER AS PART OF
我有个文件
$ cat f2
line 1; li
ne 2$
请注意,最后一个$是bash提示符,而不是文件内容的一部分。
我试着做将不以数字结尾的每一行连在一起,下一行用gawk表示。但与我之前的文章不同,现在我试图通过在新行字符\n前面尝试使用不同数量的反斜杠来了解bash、gawk和gensub()如何处理反斜杠。我想知道为什么在n找不到一行没有以数字结尾的行之前,使用三个以上反斜杠的gawk命令会成功?通常,bash、gawk和gensub()如何成功地处理反斜杠?谢谢。
$ gawk 'BEGIN{RS="\f"} {b=gensub("([^[:d
我得到的是一个文件(让我们称它为'xfile'),其中包含如下代码行
file1 <- this line goes to file1
file2 <- this goes to file2
我想要做的是运行一个脚本,该脚本实际执行提取行并将它们写入文件的工作。
我手动操作的方法可能如下所示(对于第一行)
(echo "this line goes to file1"; echo) >> file1
因此,为了实现自动化,这就是我尝试做的事情
IFS=$'\n'
for l in $(grep '[a-z]* &l
我正试图通过bash脚本清除超过12万行的文本文件。我需要执行几次查找和替换。每个查找和替换的顺序很重要,文件需要“记住”以前的查找和替换。
示例:将所有‘.’(句号)替换为'.\n‘(句号和新行),然后
将所有‘?’(问号)替换为'?\n‘(提问标记和新行),然后
将所有‘!’(句号)替换为'!\n‘(感叹号和新行),然后.等等。
我这么做了,但不管用:
#!/usr/bin/env bash
sed 's/./.\n/g'
sed 's/?/?\n/g'
sed 's/!/!\n/g'
input.txt
我做错了什
如何使用PHP正则表达式从字符串中删除每个数字前面的新行字符?
示例:
$message = "
My Number is \n
0\n
7\n
8\n
9\n
Come Home\n
"
变成:
$message = "
My number is\n
0789\n
Come Home\n
"
这是我所拥有的,但它删除了所有的东西
$message = trim(preg_replace('\d+\s+', '', $message),'\n');
我有一个F5 bigip.conf文本文件,在该文件中,我希望为显示“10.166.201”的所有行将路由域从701更改为703。路由域由%701表示
10.166.201.10%701
10.166.201.15%701
10.166.201.117%701
我可以用bash实现这一点,但问题是"else printf“命令(我也尝试了echo),它应该打印出所有其他行,错误地解析诸如"\r\n”之类的内容,并将它们保留为"rn“。
#!/bin/bash
while read line
do
if [[ $line = *"10.166.201"*
我有一个文件夹它包含'n‘数量的html文件。我会读那些文件,然后只读一行。(即)我将把<img />标记放在一个数组中,并打印这个数组。现在不打印数组。你能帮帮我吗。我的密码在这里。
use strict;
use File::Basename;
use File::Path;
use File::Copy;
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
print "Welcome to PERL program\n";
#print "\n\tProcess
我有一个简单的搜索脚本,它接受用户输入,并在目录和文件之间进行搜索,只列出它所在的文件。我想要做的是,当找到一个匹配项时,抓住它上面的4行,下面的3行并打印出来。所以,让我们假设我有。
somefile.html
"a;lskdj a;sdkjfa;klsjdf a aa;ksjd a;kjaf ;;jk;kj asdfjjasdjjfajsd jdjd
jdjajsdf<blah></blah> ok ok okasdfa stes test tes tes test test<br>
blah blah blah ok, I vouch fo
发布
如何删除此sed循环的最后一行?
sed -n '/## bash, file, re/,/##/p' bash.kb
在我的例子中,它也向我展示了最后一行,也就是带有##字符串的最后一行,我需要删除它。
举例说明。
源文件bash.kb,这是文本文件。
...
## bash, file, remove last character on every line
sed 's/.$//' $file
## bash, files, watch only today's modified files
some command.
some 2nd
在一台CentOS 6.9机器上工作,我的bash脚本有点生疏。在我详细介绍我要做的事情之前,下面是我的代码供参考:
#!/bin/bash
package_name="<>"
yum list all > all_packages.txt
len=`expr length "$package_name"`
string=$((len-1))
while IFS= read -r line || "$line"; do
if [[${line:0:$string = $package_name}]]
then <>
我用谷歌搜索了很多次。我只想要这一行:
echo "Replace <newLine> it by <newLine> NEWLINE <newLine> in my OSX terminal <newLine> and bash script" | sed -e 's/<newLine>/\n/g'
在我的osx终端和我的bash脚本中工作。我不能用sed做这个吗?有没有另一种单行解决方案?