根据 .txt 文件中具有分隔符的用户输入删除一行:
Deleting a line based on user input in a .txt file that has delimiter :
我得到一个代码,我希望根据用户的输入删除 .txt 文件中的一行。
例如
item.txt 包含
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
very awesome things7:8:9
用户想要根据他的输入 "very awesome things" 删除整行,而不考虑 upper/lower 大小写,只要匹配
read choice1
sed -e $choice1/d item.txt
将 grep 与 -i(忽略大小写)和 -v(检索除模式以外的所有内容)选项一起使用,如下所示:
grep -iv "Very Awesome ThiNGS" item.txt ##use "$choice1" instead of "Very Awesome ThiNGS"
Output:
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
如果您需要 sed 解决方案,您可以这样做:
sed -i.bak "/$choice/Id" test.txt
-i - 在文件中就地删除并在进行更改之前创建一个 .bak。
我在最后 - 忽略大小写。
d 最后 - 删除该行。
你答对了,但是因为$choice
里面有空格,所以你必须把它放在引号之间(也是选择,而不是选择1,你忘记了第一个/
) :
~$ sed -e /"$choice"/d item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
您也可以将整个 sed 表达式括起来:
~$ sed -e "/$choice/d" item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
要忽略区分大小写,只需添加 I
标志:
~$ read choice
VeRy awesome things
~$ sed -e "/$choice/Id" item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
我得到一个代码,我希望根据用户的输入删除 .txt 文件中的一行。
例如
item.txt 包含
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
very awesome things7:8:9
用户想要根据他的输入 "very awesome things" 删除整行,而不考虑 upper/lower 大小写,只要匹配
read choice1
sed -e $choice1/d item.txt
将 grep 与 -i(忽略大小写)和 -v(检索除模式以外的所有内容)选项一起使用,如下所示:
grep -iv "Very Awesome ThiNGS" item.txt ##use "$choice1" instead of "Very Awesome ThiNGS"
Output:
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
如果您需要 sed 解决方案,您可以这样做:
sed -i.bak "/$choice/Id" test.txt
-i - 在文件中就地删除并在进行更改之前创建一个 .bak。
我在最后 - 忽略大小写。
d 最后 - 删除该行。
你答对了,但是因为$choice
里面有空格,所以你必须把它放在引号之间(也是选择,而不是选择1,你忘记了第一个/
) :
~$ sed -e /"$choice"/d item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
您也可以将整个 sed 表达式括起来:
~$ sed -e "/$choice/d" item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5:
要忽略区分大小写,只需添加 I
标志:
~$ read choice
VeRy awesome things
~$ sed -e "/$choice/Id" item.txt
sword and shield:10:20:30
cloak and dagger:1:2:3
sock and shoes4:5: