linux命令:将 lyric.txt 中的内容全部替换为大写,查找单词 KID 所在的行号并删除所有包含单词 YOU 的行,内容保存到upper.txt 文件中
时间: 2024-03-24 16:40:31 浏览: 14
可以使用以下命令实现:
```
tr '[:lower:]' '[:upper:]' < lyric.txt | grep -n "KID" | awk -F: '{print $1}' | xargs -I {} sed -i '{}s/.*/&\^/' lyric.txt | sed '/YOU/d' > upper.txt
```
解释如下:
1. `tr '[:lower:]' '[:upper:]' < lyric.txt` 将 lyric.txt 中的内容全部转换为大写。
2. `grep -n "KID"` 在转换后的文本中查找单词 KID,并显示其所在行号。
3. `awk -F: '{print $1}'` 提取出行号。
4. `xargs -I {} sed -i '{}s/.*/&\^/' lyric.txt` 在原文件中将所有包含 KID 的行末尾添加一个特殊字符,便于之后删除行。
5. `sed '/YOU/d'` 删除所有包含单词 YOU 的行。
6. `> upper.txt` 将处理后的结果保存到 upper.txt 文件中。
相关问题
linux命令:将 lyric.txt 中的内容全部替换为大写,并查找单词 KID 所在的行号,随后删除所有包含单词 YOU 的行,其余内容保存到upper.txt 文件中
可以使用以下命令实现:
```
tr '[:lower:]' '[:upper:]' < lyric.txt | grep -n "KID" | awk -F: '{print $1}' | xargs -I {} sed -i '{}s/.*/&\^/' lyric.txt | sed '/YOU/d' > upper.txt
```
解释如下:
1. `tr '[:lower:]' '[:upper:]' < lyric.txt` 将 lyric.txt 中的内容全部转换为大写。
2. `grep -n "KID"` 在转换后的文本中查找单词 KID,并显示其所在行号。
3. `awk -F: '{print $1}'` 提取出行号。
4. `xargs -I {} sed -i '{}s/.*/&\^/' lyric.txt` 在原文件中将所有包含 KID 的行末尾添加一个特殊字符,便于之后删除行。
5. `sed '/YOU/d'` 删除所有包含单词 YOU 的行。
6. `> upper.txt` 将处理后的结果保存到 upper.txt 文件中。
linux命令:将 lyric.txt 中的内容全部替换为大写,删除所有包含单词 YOU 的行,内容保存到upper.txt 文件中
可以使用以下命令实现:
```
tr '[:lower:]' '[:upper:]' < lyric.txt | sed '/YOU/d' > upper.txt
```
解释如下:
1. `tr '[:lower:]' '[:upper:]' < lyric.txt` 将 lyric.txt 中的内容全部转换为大写。
2. `sed '/YOU/d'` 删除所有包含单词 YOU 的行。
3. `> upper.txt` 将处理后的结果保存到 upper.txt 文件中。