- 论坛徽章:
- 3
|
本帖最后由 jackhuntcn 于 2014-03-21 10:35 编辑
看到各位大神都不愿意答题。我只好勉为其难翻译一下来引诱下大神的答案了~~
( 1 ) 写一个命令:删除当前目录中所有文件名含有3个字母字符的文件。
( 2 ) 写一个命令:删除当前目录中所有文件名含有3个数字字符的文件。
( 3 ) 写一个命令:删除当前目录中所有文件名开头是大写字母并且结尾是数字的文件。
( 4 ) 写一个命令:拷贝所有当前目录中文件名开头是t的文件到一个名为x的目录中。
( 5 ) 写一个命令:执行一个a.out的程序,它的标准输入是一个名为input的文件,它的标准输出到一个名为output的文件,并且它的标准错误重定向到一个名为errorlog的文件。
( 6 ) 写一个命令:删除当前目录及其子目录中所有文件名含有3个字母字符的文件。
( 7 ) 有一个文件名为junk的文件,写一个命令可以显示该文件中含有junk的行。
( 8 ) 仅用一个参数来调用echo命令,输出字符表中的前10个字符,以空格隔开。
( 9 ) 假设你执行了如下命令:
echo abcdefg > data.crucial
cat data.crucial data.crucial > data.crucial
现在data.crucial的内容是什么?
( 10 ) 写一个命令:将当前日期写入到一个名为$d的文件中。
( 11 ) 写一个shell脚本,能显示它执行时的第3个参数。
( 12 ) 写一个shell脚本,能显示它执行时的所有参数。
( 13 ) 写一个shell脚本,能显示它执行时开头是字母X的参数,每一个显示为单独的一行。
例如 ./a.sh X ab Ac Xa Xb
输出应该为
X
Xa
Xb
( 14 ) 写一个shell脚本,能在一行内显示它执行时的所有参数的反序。例如执行program ax by c d,执行后的输出应该为d c by ax
( 15 ) 写一个shell脚本,它的参数为一个文件的文件名,执行后能打印出这个文件中元音字符(aeiouAEIOU)占该文件中所有字符的百分比。
( 16 ) 与(15)相同,不过不是文件而是计算标准输入中元音字符占所有字符的百分比。
( 17 ) 写一个shell脚本,它能隔行打印标准输入。
( 18 ) 写一个shell脚本,它的参数为非负整数,输出这个数的阶乘结果。(n的阶乘就是1*2*3...*n)
( 19 ) 假设一个a.cpp文件,它所定义的所有函数都有返回类型,并且在同一行中,且同一行中还有函数体的大括号。写一个shell脚本,打印出a.cpp中所有定义的函数名。
例如这样的一个文件:
Void Point(int xval, int yval) {
x = xval;
y = yval;
}
void move(int dx, int dy) {
x += dx;
y += dy;
}
int get_x() {
return x;
}
int get_y() {
return y;
}
执行脚本后打印出
Point
move
get_x
get_y
( 20 ) 写一个脚本,它从标准输入中读取每一行,并且打印出每一行的第一个词,然后是省略号...,接着是最后一个词。
例如
how are you
how...you #输出
i am fine, thank you.
i...you #输出
( 21 ) 写一个脚本,它从标准输入中读取每一行,并打印每一行的每个词的第一个字母,中间已空格隔开。
例如
how are you
h a y # 输出
( 22 ) 写一个shell脚本,它的参数为一个文件的文件名,执行后能打印出这个文件中大写字符占该文件中所有字符的百分比。
( 23 ) 假设一个目录包含文件t1.in, t2.in, t3.in, (如此类推)等文件。这个目录同时也包含另外两个文件:reference.cpp和student.cpp。每个".in"文件是reference.cpp的测试输入。student.cpp的作用与reference.cpp相同。写一个脚本,如果student.cpp编译失败,中止并返回1;如果编译成功但是与reference.cpp对于任意一个".in"的输出结果不一致则中止并返回2;如果student.cpp编译成功,且它对于".in"的输出结果与reference.cpp输出一致则中止并返回0。另外:当程序中止时,目录中所剩下的文件都是原来的文件(就是".in"文件和两个".cpp"文件)
(这个我翻译的很烂~~)
( 24 ) 给出一个keyword.cpp,该文件含有所有C++中的关键字,写一个脚本打印出一个a.cpp文件中的所有定义。(没太理解~~)
( 25 ) 写一个脚本,能打印输入中的最长的重复字符的重复次数。例如输入是
meeeska mousska mouskateers
hmmmm, hmmmm. OMG!!!!!!
Yummy! To be continued ....
输出应该是6 (最长是6个叹号) 。If you wish, you can assume that there is no "#" in the input. (好像这句话没啥影响就不用翻译了)
( 26 ) 写一个shell脚本,它能检查出第一个出现重复词的行。要求输出第一个重复行的行数,重复的词,及这一行的内容。例如,文件内容如下:
Oh, how I
truly love
Paris in the the
spring
执行脚本后应该输出:
3: the: Paris in the the
如果没有重复的词,就不需输出。
( 27 ) $RANDOM是shell的一个特殊的内置变量,调用它时,每次会返回一个非负整数。要求写一个脚本,既能随机生成非负整数,也能随机生成负整数。
( 28 ) 写一个脚本,它从命令行中接收一个正整数参数N,并能打印从1到N的数字队列(不够位数的数字左边需用0补齐)。例如,N=154时,输出:
001
002
...
009
010
011
...
099
100
101
...
154
( 29 ) 写一个脚本,它从命令行中接收一个正整数参数N,并生成N个文件(文件名为test001.data,test002.data,test003.data等)。每个文件的内容是:第一行为一个随机数K,其余行为K个随机整数。
( 30 ) 写一个脚本,它接收两个文件名作为参数,合并输出这两个文件的内容(file1的第1行,file2的第1行;file1的第2行,file2的第2行;等等)。假设两个文件都不包含字符"#"。请注意:在一些有过滤功能的程序如cat命令等,"-"字符作为参数表示用标准输入当作程序的输入,所以 cat x - y 的意思是从x文件中读入输入,然后是标准输入,然后是从y文件中读入输入。提示:考虑使用例如 echo '#####' | cat x - y | ... 作为技术手段,这样管道可以表示x,y两个文件的边界。
(这题翻译得不是太好。而且这个要求好像不是太难,后面这些说明不知道作何用?)
|
|