名为animals的原始文件如下所示:
dog
cat
dolphin
cat
这个命令通过将sed '/dog/i\ Linux Scripting' animals放在Linux Scripting之前来工作,我得到了以下内容:
Linux Scripting
dog
cat
dolphin
cat
然而,如果我做了动物头之后,文件是不变的。
$ head animals
dog
cat
dolphin
cat
如何以覆盖现有文件的方式执行此操作?
注意:用于多个文件,我希望animals与*.txt保持一致
这是我的样本文件
user@linux:~$ cat file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
user@linux:~$
我可以用grep -A2 'e 2' file.txt打印第2-4行。
user@linux:~$ grep -A2 'e 2' file.txt
Line 2
Line 3
Line 4
user@linux:~$
我也可以用grep -n打印出行号。
user@linux:~$ grep -nA2 'e 2' file.txt
2:Line 2
3-Line 3
4
我将使用sed命令将CIS132转换为Unix/Linux介绍的CIS132。我做了:
sed 's/CIS132/CIS132 Introduction to Unix\/Linux/g' CISed
我有一个命令提示符,所以我想一切都准备好了。然后我猫CISed,没有得到输出。那里发生了什么?我能把我擦掉的东西拿回来吗?
谢谢
杰森
我使用替换文件中的文本。我想给sed一个文件,其中包含要在给定文件中搜索和替换的所有字符串。
它覆盖了.h和.cpp文件。在每个文件中,它搜索包含在其中的文件名。如果找到,它将"a.h“替换为"<a.h>”(没有引号)。
剧本是这样的:
For /F %%y in (all.txt) do
for /F %%x in (allFilesWithH.txt) do
sed -i s/\"%%x\"/"\<"%%x"\>"/ %%y
all.txt -要在其中执行替换的文件列表
a
我有一个模板文件(template.txt):
Hello, $x
Hello, $y
我有一个脚本文件(script.sh):
#!/bin/bash
$x=linux
$y=unix
# I want to include template.txt as a here-doc
如何将template.txt包含为here-doc of script.sh。
因此,当我运行script.sh时,输出应该是:
Hello, linux
Hello, unix
编辑:
我认为replace对我的工作来说是个很好的命令:
$ cat template.txt | replace '$x&
我知道如何从文件中删除所有尾随空格,例如:
sed -i 's/ *$//' file
有没有办法做到这一点,而不是在只包含空格的行中?
精神上的某物:
sed -i 's/[a-zA-Z0-9;}{] *$/[a-zA-Z0-9;}{]/' file
^ keep the original characters
最好使用sed,但不是必须的。任何linux支持的解决方案都可以。
谢谢
我需要一个linux bash脚本来循环文件夹中的所有文件,并检查其中是否有一个字符串,改变他们的另一个字符串。例如,我们检查file contanis是否为AAAA,然后用CCCC替换BBBB,如果没有AAAA,我们将DDDD改为EEEE。
我写了一些代码,但我不确定它们是否能正常工作:
#!/bin/bash
PATH = /path/to/files/* # files has no extension
for file in $PATH; do
if grep -q "AAAA" $file; then
replace "BBBB
我有一个文件(sample1.txt),格式如下:
1 a
2 b\
3 d
4 e\
5 k
6 hello\hi
7 stackoverflow\site\
现在,如果一行的最后一个字符是'\‘,那么我想用'’替换它,这样我就可以将sample1.txt转换成以下文件:
1 a
2 b
3 d
4 e
5 k
6 hello\hi
7 stackoverflow\site
我知道使用编程语言也可以这样做,但是否可以使用linux命令(如grep、sed等)进行同样的操作?
我已经将nmap结果输出到一个名为test.txt的文件中,它如下所示:
Nmap scan report for 192.168.1.5
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet Linux telnetd
--
Nmap scan report for 192.168.1.7
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
80/tcp open http Popper
--
Nm
我有一个文件beginning.txt,其中包含的行如下:
Disclaimer Here
This is a Notice
I have something liere
如何执行linux命令,将beginning.txt中的所有行添加到与扩展名" .customfile“匹配的每个文件的顶部(注意,.customfile只是一个文本文件,但这些文件可能位于我当前文件夹中的子目录中,我也希望更新这些文件)。
我有许多带有.customfile后缀的文件,我想要追加这些文件,所以我想找一种通过编程实现这个功能的方法。我看到了sed命令的示例,它仅限于一行。
sed -i '1s
我试图在bash中运行sed命令,但是它总是给我带来错误,我不知道我做错了什么。
这是代码:$sed 's/unix/linux/' geekfile.txt,这是错误消息:bash: s/unix/linux/: No such file or directory.
我尝试添加-i,它告诉我找不到命令。该怎么办呢。下面是我面临的问题的截图:
📷
编辑以删除不必要地使用"cat“命令.
我有一个Linux脚本,它从CSV文件中读取数据,并根据文件中每一行的最后一列执行操作。
输入文件具有以下基本格式:
asdf,foo
1234,foo
qwerty,bar
zxcv,baz
7890,bar
最初的Linux脚本如下所示:
sed s/.*,//g $1 | sort -u | while read item
do
# Do stuff with $item
done
我很难将Linux脚本转换为在Windows环境中运行,使用GnuWin32版本的cat、sed和sort。到目前为止,我尝试过的是:
for /f
在Linux CentOS 7中是否有一种方法可以将数字添加到文档的行中。任何方法都是OK、命令、代码、脚本或其他什么的。我有一份文件,我想给这些线路编号。
输入示例
Only I can change my life.
Good, better, best.
Life is 10% what happens to you and 90% how you react to it.
输出
1 Only I can change my life.
2 Good, better, best.
3 Life is 10% what happens to you and 90% how you reac
朋友们,同事们,油嘴滑舌的熟人,以及那些最丢脸的职业生涯的受害者,
当我试图在Max OSX中做简单的UNIXy事情时,我正遭受着那种独特的疲劳感。谁能告诉我如何使用sed (不是awk,不是perl,不是任何东西,而是sed)来获取包含以下内容的file.txt:
Oh my I have Mac fatigue
让它看起来像这样:
Oh my I have Mac fatigue
如果您真的在Mac OSX Lion上执行此操作,则非常感谢。(编辑:不是Mountain Lion,也不是其他操作系统)。我只是花了很长时间在谷歌