有一个包含内容的 test.txt 文件
text1
text2
%#
text3#text4%text5
text6%text7#text8
%
%%%%%
#
#####
我想删除同时包含 % 符号和 # 符号的行,以便输出如下所示:
text1
text2
%
%%%%%
#
#####
到目前为止,我已经到了这个sed '/%/d; /#/d' test.txt
但是它删除了包含%或# 的行,输出是这样的
text1
text2
有一个包含内容的 test.txt 文件
text1
text2
%#
text3#text4%text5
text6%text7#text8
%
%%%%%
#
#####
我想删除同时包含 % 符号和 # 符号的行,以便输出如下所示:
text1
text2
%
%%%%%
#
#####
到目前为止,我已经到了这个sed '/%/d; /#/d' test.txt
但是它删除了包含%或# 的行,输出是这样的
text1
text2
有一个文件 test1.txt 和一个文件 test2.txt,它们都由带有随机字符的字符串组成。但有些行在 test1.txt 和 test2.txt 中是相同的
例子:
$ cat test1.txt
случайные_символы1
случайные_символы2
случайные_символы3
случайные_символы4
!@#%^%&^*^
8246****
$ cat test2.txt
случайные_символы1
!@#%^%&^*^
8246****
случайные_символы20
我想得到带有结果的 test1.txt 文件:
случайные_символы2
случайные_символы3
случайные_символы4
找到了这样的解决方案:
sed -i -f <(sed 's,^,/^,;s,$,/d,' test2.txt) test1.txt
给出错误消息:
sed: file /dev/fd/63 line 3: Invalid preceding regular expression
据我了解,它在第 8246 行发誓 ****
如何使处理任何字符串成为可能,无论其中包含什么字符?或者也许有另一种解决方案?
解决方案:文件小于 1GB,'Enikeyshchik' 的答案效果很好
因为我的文件要大得多 - 这出现了:
comm -2 -3 test1.txt test2.txt
有一个带有编码的文本文件 test.txt:
!
€
✖
ы
и тд
如何将这些编码转换为相应的字符:!€ ✖ s等
我手动尝试使用命令sed -i -e 's/ы/ы/g' test.txt
Everything works,但有超过一千个这样的字符。这项工作需要一天多的时间。
有一个带有类型字符串数组的 .txt 文件
我试图通过传递这样的行从每一行中提取一个特定的值:
import re
with open('test.txt') as f:
lines = f.readlines()
for line in lines:
m = re.findall("'(.+?)'", line)
print(m[3])
一切正常。当其中一个字符串与条件不匹配时,问题就开始了,然后出现错误:
Traceback (most recent call last):
File "test.py", line 79, in <module>
print(m[3])
IndexError: list index out of range
实际上问题是:我希望简单地丢弃不匹配的行,然后循环继续简单地丢弃不匹配的行
有这样一行:
'text1'、'text2'、'text3'、'text4'、'text5'
如何获取 text4 值?