1. 在/home目录中创建一百个目录,目录名称依次为a1……a100.
#!/usr/bin/sh cd /home for item in `seq 1 100` do mkdir a$item done
其中,seq用于产生从一个数到另一个数的序列。需注意for循环用法,是将in后序列中的元素依次取出。这点和python是一致的。反引号表示命令的执行,也可以表示为$(seq 1 10)。
查到一个简单的方式:
mkdir /home/a{1...100}
2. 编写一个脚本,自动将用户主目录下所有小于5KB的文件全打包成XX.tar.gz中.(提示:用ls,grep,find等命令,文件一般指普通文件)
find . -size -5k -type f -exec tar -czPf xx.tar.gz {} +
其中find -exec command {} +的用法如下: http://blog.csdn.net/pushme_pli/article/details/8897876,其中exec与xargs用法相似,不过{}不能用到xargs中,所以第二种方式如下:
find . -type f -size -5k | xargs tar -czvf xx.tar.gz
3. 写一个程序,可以将/et/passwd的第一列取出,而且每一列都以一行字符串“the 1 account is “root””来显示
awk -F: '{ printf("The %s account is %s\n",NR,$1) }' /etc/passwd
4. 编写一个程序,他的作用是先查看一下/root/test/logical这个名称是否存在,若不存在,则创建一个文件。使用touch来创建,创建完成后离开;如果存在的话,判断该名称是否为文件,若为文件则将之删除后新建一个目录。文件名为loglical,之后离开;如果存在的话,而且该名称为目录,则删除此目录。
#!/usr/bin/sh Filename=/home/test/logical if [ -e $Filename ] ; then if [ -f $Filename ] ; then rm -rf $Filename mkdir -p $Filename elif [ -d $Filename ] ; then rm -rf $Filename else echo "Finish" fi else mkdir -p ${Filename%/*} && touch $Filename echo "Finish" fi
看别人写的:
#!/bin/bash file=/root/test/logical [ -d $file ] && rm -rf $file && exit 1 [ -f $file ] && rm -f $file && mkdir loglical && exit 2 touch $file && exit 3
此时,有${}的用法,${}一般是用作变量替换的。举例如下:
file=/dir1/dir2/dir3/my.file.txt
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt
${file##*.}:拿掉最后一个 . 及其左边的字符串:txt
${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
${file%.*}:拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
# 是去掉左边(在键盘上 # 在 $ 之左边)
% 是去掉右边(在键盘上 % 在 $ 之右边)
引自http://bbs.chinaunix.net/thread-4134568-2-1.html
相关推荐
“编程每日一题”项目的核心理念是通过每天一道精选的编程或面试题目,让用户在限定的时间内,即180秒内,锻炼自己的快速反应能力和编程思维。这个限时挑战的设置无疑增加了学习的趣味性和紧迫感,迫使用户在有限的...
《Astro Bot》的核心功能是每天在新标签页显示一道编程题目。这些题目可能来源于诸如LeetCode、HackerRank、CodeWars等在线编程练习平台,涵盖各种编程语言和算法,如排序、搜索、图论等。通过解决这些问题,用户...
每天一道精选面试或编程题,180 秒内语音答题模式凝练答案。次日推送标准参考答案至群内供大家复盘,做到事事有回音,题题有答案。每天早上 8:16 准时发车,来不及解释了,快上车! 本仓库为已经发布的题目和答案...
2. **数据类型** - 基本数据类型(原始类型)包括:`null`、`undefined`、`boolean`、`number`、`bigint`、`string` 和 `symbol`。 - 引用类型(对象类型)如 `Object`、`Array`、`Function` 等。 3. **操作符** ...
这也是与动态编程的主要区别,动态编程是详尽的,并且保证能够找到解决方案。在每个阶段之后,动态编程基于前一阶段做出的所有决策做出决策,并且可能会重新考虑前一阶段的算法求解路径。 最优子结构 "如果问题的最...
"每天花5分钟的时间,弄懂一道面试题 or Js小知识"揭示了这份资源的目的,即通过每日的学习和思考,帮助用户逐步提升技能,每天进步一点点。"流年笑掷,未来可期"可能是这个学习计划的口号,鼓励持续努力,期待未来...
《LeetCode每日算法挑战:永葆编程活力》 在编程世界里,持续学习与实践是提升技能的关键。LeetCode Everyday项目就是这样...记住,每天一道算法题,就像每天锻炼一样,能让你在编程这条道路上始终保持活力和竞争力。
【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..
描述中的“AlgorithmSet”和“每天一道算法题”表明这是一个系统化的算法学习资源,可能是某个开源项目或者学习计划,旨在帮助用户通过每天解决一道算法题来提升自己的编程和算法能力。"Algorithm.playground"可能是...
在Python编程语言中,变量的传递机制是一个常见的面试题,特别是对于有经验的开发者来说。在Python中,所有的参数都是通过引用传递的,但这并不意味着我们可以像C++或Java那样直接改变函数内部变量的原始值。理解这...
* 马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?可以使用穷举法编写...
此题涉及一个经典的递归问题,即猴子每天吃掉一半的桃子并再多吃一个桃子,问第一天有多少个桃子。 ### 乒乓球比赛抽签问题 本题要求我们设计一个抽签算法,以公平地分配比赛的对手。 ### 打印菱形图案 此题需要...
马克思手稿中有一道趣味数学题:有 30 个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了 50 先令,每个男人各花 3 先令,每个女人各花 2 先令,每个小孩各花 1 先令,问男人、女人和小孩各有几人?...
欢迎关注我的公众号“编程拯救世界”(CodeWarrior_),加入编程世界一起冒险,一起成长! 如果你对分享题解或做题研究,欢迎加入。 基本概念 (更新中……) 题解分类 数据结构 树 算法思想 排序 搜寻 关于我们 :...
它鼓励学习者通过每天一道题的训练,培养出解决实际问题的能力。通过这样的持续训练,学习者可以将所学知识转化为自己的技能,不仅能够提升编程速度,更能训练出良好的编程思维。 总之,《C语言ACM趣味和经典习题...
【标题】"YunDang-Algorithm:群策群力,每日解决一道算法题" 提供了一个关于算法学习和实践的项目,旨在帮助开发者通过每天解决一个算法问题来提升自己的编程技能。该项目的核心理念是集体智慧,鼓励团队成员共同...
- **封装**:封装是面向对象编程的核心概念之一,它隐藏了对象内部的实现细节,只对外提供公共接口供其他部分使用。这样可以保护对象的内部状态,减少外部对内部数据的直接操作,提高安全性。 - **继承**:继承...
2. **蛋糕分块问题**:这道题考察创新思维和解决问题的能力。答案是将蛋糕切8份,先分7份给7个人,剩下的1份连同蛋糕盒一起分给第8个人。这显示了在有限资源下找到可行解决方案的思维技巧。 3. **小明一家过桥问题*...