我想重命名所有包含空格的pdf文件,用下划线代替它们。因此,我调用命令:
ls *.pdf | sed -e 'p; s/" "/_/' | xargs -n2 mv
我在终端上发现了错误:
mv: cannot stat ‘Beginning’: No such file or directory
mv: cannot stat ‘Linux’: No such file or directory
mv: cannot stat ‘Line.pdf’: No such file or directory
mv: cannot stat ‘The’: No su
如何在sed命令中仅替换特定值
例如,
Linux system
Windows syste
Mac syste
我试过这个命令
sed /system/system/g‘file.txt
safwanpaloli@hello:~/linx$ sed 's/syste/system/g' new.txt
Linux systemm
Windows system
Mac system
我预期的结果
Linux system
Windows system
Mac system
每当我启动apache server(安装在EC2上)时,它都会显示带有"Amazon Linux AMI test Page“标题的测试页面。我想用类似于"Linux AMI - Started“这样的东西来更改措辞。(注意:我不想用我的文本替换整个页面,我想要相同的页面,但标题是"Linux AMI - Started“,而不是"Amazon Linux AMI Test Page”。我在下面试过了,但不幸的是它不起作用。
sed /Amazon Linux AMI测试页/Linux AMI - Started/g‘/var/wwww/html/index.
这是我的样本文件
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
我怎样才能用_N_th命令来替代sed(例如,第三次)在一个文件中的再加工(或模式)的发生?我指的是在该文件中发生的_N_th,而不是在一条线路或第一条发生的in the _N_th匹配线中发生的_N_th,而不是在一条线路或第一条发生的in the _N_th匹配线中发生的_N_th。
示例:
只将文件中is的第三次出现改为us。
我的输入文件包含:
hai this is linux.
hai this is unix.
hai this is mac.
hai this is unchanged.
预期产出如下:
hai this is linux.
hai thus is unix.
我正在清理存储在文本文件中的数据。每一行的开头都是一个类别标签,后面跟着我想要清理的实际数据。在不同的子文件夹中有许多文本文件,所以我使用egrep将文件名传递给sed。
CON: the Unix and Linux question
SEM: eins, the zwei, drei
AUTH: , the
AFF: The holy seat
TTITLE: As we go, the Kuckuck comes too
现在,在以(SEM|AFF|CON)开头的每一行中,当(T|t)he[ ]*跟随(:|\,)时,我想替换它。也就是说,数据应该稍后看起来像
CON: Unix and