嘗試下面來完成,包含50000 CHOWN文件中的命令sed將語法包括雙引號到最後一個字段
chown eme:curs "GCPB/control_Update_v1 (2).p"
最後一個字段沒有""
文件中,我需要的是確保命令正確完成。
任何想法請如何做到這一點?
嘗試下面來完成,包含50000 CHOWN文件中的命令sed將語法包括雙引號到最後一個字段
chown eme:curs "GCPB/control_Update_v1 (2).p"
最後一個字段沒有""
文件中,我需要的是確保命令正確完成。
任何想法請如何做到這一點?
我會猜測你正在談論的是在其中有空格的文件上做一堆命令,因此需要引用。
像這樣的事情會做到這一點:
#!/usr/bin/env perl
use strict;
use warnings;
#<> reads stdin or files specified on command line, like sed/grep
while (my $line = <>) {
#remove trailing linefeed
chomp ($line);
#split on whitespace - 3 fields limit.
my @fields = split (' ', $line, 3);
#stick them back together again, including quotes.
print join (" ", @fields[0,1], '"'.$fields[2].'"'),"\n";
}
:
chown eme:curs GCPB/control_Update_v1 (2).p
chown eme:curs some-other file
這給我們:
chown eme:curs "GCPB/control_Update_v1 (2).p"
chown eme:curs "some-other file"
,可進行一linerified如果你真的想雖然。
喜歡的東西:
perl -lne '@f=split(' ', $_, 3); print join (" ", @f[0,1], "\"".$f[2]."\"")'
不知道你的意思'最後一個字段不有「」是什麼文件'。你能澄清嗎? – fedorqui
你有一個文件,上面寫着'chown'' user:group''文件名,但是文件名可能包含空格/ etc。但沒有適當的引用?你想要引用文件名?無論文件名是什麼? –
@Etan,是的,那就是我想要做的。 – jake