我使用以下命令来查找目录名称.
find / -type d -name "ora10"
Run Code Online (Sandbox Code Playgroud)
我的问题是,我不知道确切的目录名称是什么,所以我想找到类似的目录"ora10g"
,"ora10client"
等等.
我怎么能找到这个?
我想提取该主机名的第一部分testsrv1
来自testsrv1.main.corp.loc.domain.com
于UNIX,shell脚本中.
我可以使用什么命令?这将是第一个时期之前的任何事情.
我需要这个猪脚本的帮助.我刚收到一条记录.我正在选择2列并在另一列上进行计数(不同),同时还使用where where子句来查找特定描述(desc).
这是我的猪我的sql我试图编码.
/*
For example in sql:
select domain, count(distinct(segment)) as segment_cnt
from table
where desc='ABC123'
group by domain
order by segment_count desc;
*/
A = LOAD 'myoutputfile' USING PigStorage('\u0005')
AS (
domain:chararray,
segment:chararray,
desc:chararray
);
B = filter A by (desc=='ABC123');
C = foreach B generate domain, segment;
D = DISTINCT C;
E = group D all;
F = foreach E generate group, COUNT(D) as segment_cnt;
G = order F by segment_cnt DESC;
Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本,我正在使用这行代码执行循环本地文件(.gz)并执行scp.scp
如果可能,我想测试失败.我正在做一个循环,所以我可以将每个文件名回显到日志,以便我可以跟踪它.
有人可以告诉我如何检查失败的scp吗?或者更好的是,这是一个很好的代码示例吗?谢谢你的帮助.
for gzfile in $LOCALDMPDIR/*.gz
do
/usr/bin/scp -P 2222 -i $KEYFILE $gzfile foobar@$1:$TGTDIR
echo "$gzfile is done. " 2>&1
done
Run Code Online (Sandbox Code Playgroud) 我如何调整这个以使用localtime获取昨天的日期?
use strict;
sub spGetCurrentDateTime;
print spGetCurrentDateTime;
sub spGetCurrentDateTime {
my ($sec, $min, $hour, $mday, $mon, $year) = localtime();
my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
my $currentDateTime = sprintf "%s %02d %4d", $abbr[$mon], $mday, $year+1900; #Returns => 'Aug 17 2010'
return $currentDateTime;
}
Run Code Online (Sandbox Code Playgroud)
〜
我被卡住了.我基本上想使用OUTFILE命令从远程数据库创建LOCAL数据文件(csv文件).
我基本上是,拉数据..并希望在我的本地文件服务器上创建它而不是在远程服务器上创建outfile.我远程限制空间,因此我想在本地创建文件.我怎么办这个怎么办?谢谢!
到目前为止,这是我在命令行上的工作语法(它创建了我想要的文件,但在远程服务器上)
mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 INTO OUTFILE '/tmp/mytest.csv' FIELDS TERMINATED BY ',' FROM tst_p000 limit 10"
Run Code Online (Sandbox Code Playgroud) 我想从最新创建的目录中复制文件.我怎么会在unix中这样做?
例如,如果我将目录名称作为日期戳,则:
/20110311
/20110318
/20110325
Run Code Online (Sandbox Code Playgroud) 是否可以使用模块中的perl move
函数File::Copy
来使用通配符来移动具有相同文件扩展名的多个公共文件?到目前为止,move
如果我明确命名文件,我只能开始工作.
例如,我想做这样的事情:
my $old_loc = "/share/cust/abc/*.dat";
my $arc_dir = "/share/archive_dir/";
Run Code Online (Sandbox Code Playgroud)
现在,我可以像这样做一个文件:
use strict;
use warnings;
use File::Copy;
my $old_loc = "/share/cust/abc/Mail_2011-10-17.dat";
my $arc_dir = "/share/archive_dir/Mail_2011-10-17.dat";
my $new_loc = $arc_dir;
#archive
print "Moving files to archive...\n";
move ($old_loc, $new_loc) || die "cound not move $old_loc to $new_loc: $!\n";
Run Code Online (Sandbox Code Playgroud)
我想在perl程序结束时做什么,将所有这些命名*.dat
的文件移动到一个存档目录.
MySQL中有没有办法使用SELECT语句将文本连接到值?(就像在Oracle中一样)
例如,在Oracle中,您可以编写如下内容:
SQL> select 'The Year is '|| year, 'The month is '|| month from time where rownum < 2;
'THEYEARIS'||YEAR
----------------------------------------------------
'THEMONTHIS'||MONTH
-----------------------------------------------------
The Year is 2009
The month is 1
Run Code Online (Sandbox Code Playgroud) 如何使用DateTime转换我的回报:
This is my date:2011-11-26T20:11:06
至
This is my date:20111126
使用此现有代码:
use DateTime qw();
my $dt3 = DateTime->now->subtract(days => 1);
print "This is my date:$dt3\n"
Run Code Online (Sandbox Code Playgroud)