我的任务是“使用bash脚本和命令行工具,实现以下功能:您创建的脚本应该像这样运行:它应该处理目录中的*.txt文件。这个过程包括以下步骤: 1.使所有字母表小写2.删除所有xml/html标记3.替换文本文件4中的所有缩略词。将所有数字转换为单词提示:--您可以使用sed命令。”
📷
如图所示,我已经编写了代码。实际上,我对linux非常陌生,所以我必须搜索不同的命令才能完成这一任务。但是,按照分配的要求,输出实际上应该创建另一个文件,并在新文件上写入修改后的内容(在应用的4个进程之后),而不是单独在终端上打印每个操作。
代码:
#1. Converts all text inside fi
我只需要替换选定的250个erlang文件(扩展名为.erl)的前4个标题行,但directory+subdirectories中总共有400个erlang文件,我需要避免修改不需要更改的文件。我有要修改的文件名列表,但不知道如何让我的linux命令使用它们。
sed -i '1s#.*#%% This Source Code Form is subject to the terms of the Mozilla Public#' *.erl
sed -i '2s#.*#%% License, v. 2.0. If a copy of the MPL was not d
#!/bin/sed -f
s/","/|/g; # global change of "," to bar
# do some more stuff
#s/|/","/g; # global change of bar back to ","
#---end of script---
上面的脚本从CSV中删除第二个字段,并清除引号等。我没有包括大部分脚本,因为它与问题无关。
该脚本保存在文件fix.sh中。
我可以像这样在一个文件上运行它:
$ ./fix.sh
这是我的样本文件
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用文本替换空行?我尝试了一些早些时候发布的技巧,但它不起作用。有人能帮我吗?
示例文件内容-
Linux is an os.
Linux is opensource
Linux has various flavors like fedora,centos etc.
我想用像hello这样的文字来代替这些空白行。
我想根据替换规则逐个更改字符串中的所有字符,并将它们保存到Linux上。
这是替换文件(sub.txt)。
A -> Y
B -> V
C -> Q
...
输入文件:
ABCDEFGHIJ
首先,(A到Y) YBCDEFGHIJ ->保存文件
第二,(B到V) AVCDEFGHIJ ->保存文件
我该用哪种方法?
名为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保持一致
我需要创建一个source脚本来更新项目的C源代码文件中的注释。我还需要在Makefile中添加一个新目标,以便更新Makefile本身的版本号。我将收到一个(未知名称) zip文件,其中将包含几个文件(名为: calcmarks.h、calcmarks.c、correlation.c、globals.c、readmarks.c)。这就是我目前所拥有的,但我对如何使其工作感到非常困惑
unzip $1
for file in calcmarks.h calcmarks.c correlation.c globals.c readmarks.c
do