gpt4 book ai didi

shell - 如何使用shell脚本将已删除的文件行重定向到其他文件

转载 作者:行者123 更新时间:2023-12-04 17:20:30 25 4
gpt4 key购买 nike

我有一个文本文件,其中包含由“,”符号分隔的字段。我想删除具有“S”和“A”等模式的行,并将删除的行重定向到其他文件,而原始文件不包含已删除的模式。

例如,假设我的文件数据是这样的:

S,F,T,Y
B,I,J,O
S,O,L,H
R,I,O,P
A,H,K,L
U,I,O,P
A,I,S,U

我将删除这些行并希望将其存储在单独的文件中,比如 delete.txt

S,F,T,Y
S,O,L,H
A,H,K,L
A,I,S,U

和 file.txt 包含

B,I,J,O
R,I,O,P
U,I,O,P

我尝试了以下代码

sed -n '/S\|A/p' file.txt > delete.txt

此命令将删除的行重新记录到 delete.txt,但在 file.txt 中包含已删除的模式

最佳答案

在 Mac OS X 上,sed 需要备份选项的参数,-i,所以我会这样写:

sed -i .bak -e '/[SA]/{w deleted.txt
d;}' file.txt

需要文件名后的换行符,即使使用 GNU sed

关于shell - 如何使用shell脚本将已删除的文件行重定向到其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24826897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com