shell命令 若某个文件存在某行则删该行的第一个字符
时间: 2023-12-09 22:06:28 浏览: 31
可以使用如下的Shell脚本命令:
```
#!/bin/bash
if grep -q "某个字符串" "文件名"; then
sed -i 's/^./ /' "文件名"
fi
```
其中,“某个字符串”是你需要查找的字符串,“文件名”是你需要操作的文件名。
这个命令会首先使用grep命令查找文件中是否存在“某个字符串”,如果存在则使用sed命令来删除该行的第一个字符。
请注意,这个命令会直接修改文件,所以请谨慎操作。建议在操作前备份文件。
相关问题
adb shell 提取文件第三行最后一列字符
假设你要提取的文件为`example.txt`,可以使用以下命令来提取文件第三行的最后一列字符:
```
adb shell sed -n '3p' example.txt | awk '{print substr($NF,length($NF),1)}'
```
这个命令首先使用`sed`命令提取文件的第三行,然后使用`awk`命令提取该行的最后一个字段(即最后一列字符),并输出该字段的最后一个字符。
shell脚本去除某一列字符
要去除某一列的字符,可以用awk命令来实现。
首先,假设有以下文本文件example.txt:
```
apple 10 red
banana 20 yellow
orange 15 orange
grape 25 purple
```
现在要去除第二列(即数字列),并生成新的文本文件new_example.txt。
可以运行以下shell脚本:
```
awk '{$2=""; print $0}' example.txt > new_example.txt
```
在该脚本中,awk命令读取example.txt文件中的每一行,将第二列($2)置为空,然后打印该行的所有列($0),最后将结果保存到new_example.txt中。
运行完脚本后,生成的new_example.txt文件如下:
```
apple red
banana yellow
orange orange
grape purple
```
可以看到,第二列的数字已经被成功去除了。