有没有办法在现有的meld实例中使用命令行(如终端)或以编程方式启动新文件比较.
例如,以下两个命令启动两个实例 meld
$ meld ./1/a1.txt ./2/a2.txt &
$ meld ./3/a3.txt ./4/b4.txt &
Run Code Online (Sandbox Code Playgroud)
但是,我更喜欢在不同选项卡中的同一实例中打开文件比较.我不知道如何获得它,但我可以说明我的意思.
我假设可以修改第二个命令(meld ./3/a3.txt ./4/b4.txt &).例如,它可以帮助一些未知的选项,
$ meld --some-option-to-open-in-tab ./3/a3.txt ./4/b4.txt &
Run Code Online (Sandbox Code Playgroud)
或者也许可以编写一些应用程序来添加文件比较到现有的实例 meld
$ MyMeld ./3/a3.txt ./4/b4.txt &
Run Code Online (Sandbox Code Playgroud) 由于文件比较可以使用至少几种我知道的方式从 vscode 执行:
我想知道是否可以有一个 api 来比较我可以在扩展中使用的两个文件?但我在官方页面上找不到它。也许已经在进行中/计划中了?
我的文件有 4 列,其中有分隔值。我只需要第一列,所以我读取了文件,然后将该行拆分,分隔并将其存储在一个名为first_file_list 的列表变量中。
我有另一个文件,其中有 6 列,其中包含分隔值。我的要求是读取文件第一行的第一列,并检查字符串是否存在于名为first_file_list 的列表中。如果存在,则将该行复制到新文件中。
我的第一个文件大约有。600 万条记录,第二个文件大约有 600 万条记录。450 万条记录。只是为了检查我的代码的性能而不是 450 万条,我只在第二个文件中放入了 100k 条记录,并且处理 100k 条记录代码大约需要 100000 条记录。2.5小时。
以下是我的逻辑:
first_file_list = []
with open("c:\first_file.csv") as first_f:
next(first_f) # Ignoring first row as it is header and I don't need that
temp = first_f.readlines()
for x in temp:
first_file_list.append(x.split(',')[0])
first_f.close()
with open("c:\second_file.csv") as second_f:
next(second_f)
second_file_co = second_f.readlines()
second_f.close()
out_file = open("c:\output_file.csv", "a")
for x in second_file_co:
if x.split(',')[0] in first_file_list:
out_file.write(x)
out_file.close()
Run Code Online (Sandbox Code Playgroud)
您能否帮助我了解我在这里做错了什么,以至于我的代码需要这么多时间来比较 100k 记录?或者你能建议更好的方法在Python中做到这一点吗?
我想要一个 Beyond Compare 脚本来比较两个文件夹的文件内容并生成一个文本报告。我怎样才能做到这一点?使用文本报告仅比较两个文件。文件夹报告不比较文件内容。
谢谢
我有2个巨大的文本文件,想找到它们之间的区别?什么是快速命令/实用程序/或脚本来完成这项工作?
我尝试使用unix diff但是,它失败了巨大的文件.它告诉我"Permission Denied"
此外,我尝试unix bdiff(因为我读到这对大文件有好处)但是,我没有完成测试,因为它告诉我"bdiff: command not found"
另外,我尝试windows FC(文件比较),但是,我不知道如何在新的文本文件中显示输出.cmd中的结果输出我无法理解.
任何建议都会对我有所帮助.请帮我解决这个问题.
非常感谢.
我试图从两个文件中打印一些不匹配的字符串,其中在我的第一个文件中有一些整数值的字符串用空格分隔,我的第二个文件也有一些字符串值与第一个文件中的一些字符串值匹配,但是前面没有指定任何整数。
使用以下awk并diff命令我试图用时第二个比较让我的第一个文件的无与伦比的数据。
使用awk它会产生第一个文件的内容,基本上它会打印传递给awk命令的最后一个参数的内容。
awk -F, 'FNR==NR {a[$1];next} !($0 in a)' f2 f1
Run Code Online (Sandbox Code Playgroud)
使用diff它会产生第二个文件的内容,这里它将打印传递的第一个参数的内容。
diff --changed-group-format='%<' --unchanged-group-format='' f2 f1
Run Code Online (Sandbox Code Playgroud)
f1
papaya 10
apple 23
Moosumbi 44
mango 32
jackfruit 15
kiwi 60
orange 11
strawberry 67
banana 99
grapes 21
dates 6
Run Code Online (Sandbox Code Playgroud)
f2
apple
mango
kiwi
strawberry
Run Code Online (Sandbox Code Playgroud)
预期结果
papaya 10
Moosumbi 44
jackfruit 15
orange 11
banana 99
grapes 21
dates 6
Run Code Online (Sandbox Code Playgroud) 我试图以这种方式比较两个文件,文件1的每一行将与文件2的每一行进行比较,如果没有找到匹配,则将该行写入单独的文件.
下面是我写的代码,但它没有按预期工作,
@echo on
cd path
for /f %%a in (file1.txt) do (
for /f %%b in (file2.txt) do (
if %%a==%%b
(
echo lines are same
) else (
echo %%a >> file3.txt
)
)
)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说,命令的语法不正确.请帮我解决一下这个.
我有两个文本文件:
FILE1.TXT
dadads 434 43 {"4fsdf":"66db1" fdf1:"5834"}
gsgss 45 0 {"gsdg":"8853" sgdfg:"4631"}
fdf 767 4643 {"klhf":"3455" kgs:"4566"}
.
.
Run Code Online (Sandbox Code Playgroud)
FILE2.TXT
8853
6437437567
36265
4566
.
.
Run Code Online (Sandbox Code Playgroud)
输出可以是两个文件
Match.txt
gsgss 45 0 {"gsdg":"8853" sgdfg:"4631"}
fdf 767 4643 {"klhf":"3455" kgs:"4566"}
Run Code Online (Sandbox Code Playgroud)
Non_Match.txt
dadads 434 43 {"4fsdf":"66db1" fdf1:"5834"}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我写这个bash脚本吗?
如果它有帮助,我想我在这里有逻辑:
for (rows in File1.txt) {
bool found = false;
for (id in File2.txt) {
if (row contains id) {
found = true;
echo row >> Match.txt
break;
}
}
if (!found) {
echo row …Run Code Online (Sandbox Code Playgroud) bash ×2
diff ×2
awk ×1
batch-file ×1
command-line ×1
file ×1
filecompare ×1
grep ×1
linux ×1
list ×1
meld ×1
python ×1
python-3.x ×1
sed ×1
shell ×1
text-files ×1
unix ×1