如何从 bash 中的文件中删除一行?
How to remove a line from a file in bash?
我有一个名为 tmp
的文件,其中包含 4 个字符串:
dirs
f1
f2
f3
我想留在
f1
f2
f3
什么 bash 命令可以帮助我完成此任务? (只有 bash,没有 sed 或 awk。)
您可以使用:
grep -v "dirs" tmp
grep
的 -v
参数将否定匹配,即它将从文件 tmp
中排除任何匹配 dirs
的内容
或者,如果您想要一个纯粹的 bash
解决方案:
while read -r line
do
if ! [[ $line =~ "dirs" ]]
then
echo $line
fi
done < tmp
其中一种方法是使用 tail:
tail -n 3 tmp
带 grep 的正则表达式:任一
grep 'f' tmp > name_of_output_file
或
grep '[^"dirs"]' tmp > name_of_output_file
为我工作
我有一个名为 tmp
的文件,其中包含 4 个字符串:
dirs
f1
f2
f3
我想留在
f1
f2
f3
什么 bash 命令可以帮助我完成此任务? (只有 bash,没有 sed 或 awk。)
您可以使用:
grep -v "dirs" tmp
grep
的 -v
参数将否定匹配,即它将从文件 tmp
dirs
的内容
或者,如果您想要一个纯粹的 bash
解决方案:
while read -r line
do
if ! [[ $line =~ "dirs" ]]
then
echo $line
fi
done < tmp
其中一种方法是使用 tail:
tail -n 3 tmp
带 grep 的正则表达式:任一
grep 'f' tmp > name_of_output_file
或
grep '[^"dirs"]' tmp > name_of_output_file
为我工作