Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
直接从Perforce命令行更改工作区clobber选项_Perforce_Perforce Client Spec - Fatal编程技术网

直接从Perforce命令行更改工作区clobber选项

直接从Perforce命令行更改工作区clobber选项,perforce,perforce-client-spec,Perforce,Perforce Client Spec,如何从命令行更改性能规格? 我想做的是,我有一个工作区,它的clobber选项设置为noclobber(默认值)。现在我想把它改成clobber 我知道我可以直接从p4v,但我不想这样。我还知道,如果我运行p4客户端,它将在文本编辑器中打开P4CONFIG文件,在那里我可以将noclobber更改为clobber,并保存文件,这样就完成了,但我也不希望这样 请告诉我在不使用p4v或不编辑P4CONFIG的情况下直接将noclobber更改为clobber的具体命令。如果您试图避免重复打开文本编辑

如何从命令行更改性能规格? 我想做的是,我有一个工作区,它的clobber选项设置为
noclobber
(默认值)。现在我想把它改成
clobber

我知道我可以直接从
p4v
,但我不想这样。我还知道,如果我运行
p4客户端
,它将在文本编辑器中打开P4CONFIG文件,在那里我可以将
noclobber
更改为
clobber
,并保存文件,这样就完成了,但我也不希望这样


请告诉我在不使用
p4v
或不编辑P4CONFIG的情况下直接将
noclobber
更改为
clobber
的具体命令。

如果您试图避免重复打开文本编辑器,您可以通过一点
sed
来实现您的目标,如下所示:

p4 client -o | \
sed 's/ noclobber/ clobber/' | \
p4 client -i

使用Perl、Python、Ruby甚至Powershell编写脚本非常容易。这是Powershell中的一条单行线:

p4客户机-o |%{$|-replace“noclobber”,“clobber”}p4客户机-i

最简单的解决方案:

P4EDITOR='sed -i s/noclobber/clobber/' p4 client

当您调用“p4客户端”时,您将编辑正在使用的特定客户端的选项。它不会影响任何其他客户。为什么对你来说这还不够?我不知道还有其他方法可以做到这一点。我无法在Win7命令行promt中运行此命令。这是一个windows命令,还是我应该创建一个bat文件并运行它?@Niyojan,这是shell(通常是
bash
)命令。您可以从windows上的任何
bash
zsh
运行它。例如,您可以使用中的
bash
。或者你甚至可以使用更强大的(我建议使用64位版本以避免64位windows上32位版本的问题)。你也可以下载一份适用于任何shell的
sed
,包括
cmd
。谷歌搜索“sed for windows”让我觉得这是第一个成功,似乎是合法的:很好,谢谢,这很好,我已经为此创建了一个python脚本。这很完美。谢谢!能否请您添加一点关于
P4EDITOR
env-var的详细信息?它到底是如何工作的?
P4EDITOR
定义用于编辑所有p4命令表单的编辑器程序。如果您使用此方法,请确保在之后将其取消设置,否则您将基本无法使用
p4
。在我看来,最好只做
p4客户机-o | sed s/noclobber/clobber/| p4客户机-i