当前位置: 首页 > article >正文

面试题解析

1、写一个sed命令,修改/tmp/input.txt文件的内容

要求:

  1.  删除所有空行;
  2.  在非空行前面加一个"AAA",在行尾加一个"BBB",即将内容为11111的一行改为:AAA11111BBB

创造测试文件:

[root@openEuler-22 scripts]# vim /tmp/input.txt

11111

22222

33333

答案:

[root@openEuler-22 scripts]# sed '/^$/d' /tmp/input.txt | sed -r 's/(.*)/AAA\1BBB/'

或(多点分开做):
[root@openEuler-22 scripts]# sed -r -e '/^$/d' -e 's/(.*)/AAA\1BBB/' /tmp/input.txt

效果截图:

2、写出SHELL函数RevertInput

要求:

  1. 函数必须获取三个参数,然后将三个参数倒序echo打印出来
  2. 函数必须检查参数个数的合法性,如果参数非法,打印”Illegal parameters”
  3. 对于下面的输入:RevertInput “this is para1” para2 para3
    1. 应该输出:
    2. para3
    3. para2
    4. this is para1

(注:需要注意第一个参数中的空格)

答案:

RevertInput () {
  if [ $# -ne 3 ]
  then
    echo "Illegal parameters"
  else
    echo $3
    echo $2
    echo "this is $1"
  fi
}

RevertInput "this is para1"
RevertInput "this is para1" para2 para3

效果截图:

有个知识点:Linux shell 间接变量引用

3、 设计一个shell 程序

要求:

  1. 在每月第一天备份并压缩/mnt 目录的所有内容,存放在/home/bak 目录里面
  2. 且文件如下形式:yymmdd_mnt,yy 为年,mm 为月,dd 为日.shell 程序存放在/usr/bin 目录下.

答案:


[root@openEuler-22 scripts]# vim /usr/bin/compress
#!/bin/bash

[ -d /home/bak ] || mkdir /home/bak

tar czf /home/bak/$(date +%y%m%d) /mnt

#加权限
[root@openEuler-22 scripts]# chmod +x /usr/bin/compress


#定时程序
[root@openEuler-22 scripts]# crontab -e
0 2 1 * * bash /usr/bin/compress &>/dev/null

4、awk 是一种程序语言,对文档资料的处理具有很强的功能。

例如 a.txt 文本中的内容如下:#cat a.txt

        Tommy,m,25

        Jean,f,19

        Jack,f,18

现要求使用 awk 语句显示出 a.txt 中的第一列内容。如下
        Tommy
        Jean
        Jack
则该语句为:

答案:

awk -F',' '{print $1}' a.txt


http://www.kler.cn/a/508136.html

相关文章:

  • unity学习18:unity里的 Debug.Log相关
  • idea 如何安装 github copilot
  • C#上位机通过CAN总线发送bin文件
  • Redis 3.2.1在Win10系统上的安装教程
  • Spring Boot 动态表操作服务实现
  • 【Flink系列】4. Flink运行时架构
  • 电子应用设计方案93:智能AI电火锅系统设计
  • MS5263数模转换器可兼容AD5663/DAC8552
  • 芝麻http/品易http/太阳http/极光http退市后,还有哪家好用推荐?
  • 嵌入式驱动开发详解12(LCD驱动)
  • 我在讯方智汇云校备考云计算HCIE的经验分享
  • window下用vim
  • Python大数据可视化:基于Python对B站热门视频的数据分析与研究_flask+hive+spider
  • 协作机器人公司切入人形机器人赛道,大有可为!
  • 【Mac】MacOS如何显示隐藏的文件或文件夹
  • 骑砍2霸主MOD开发(11)-可编程渲染管线Shader编程
  • “人工智能+技校”:VR虚拟仿真实训室的发展前景
  • 基于机器学习随机森林算法的个人职业预测研究
  • 今日总结 2025-01-14
  • win32汇编环境,窗口程序中基础列表框的应用举例
  • 《在ArkTS中实现模型的可视化调试和监控:探索与实践》
  • 【环境安装】安装LLaMA-Factory
  • 获取手机验证码登录的完整流程
  • 【git命令行】git pull冲突如何使用stash暂存,不提交当前工作的情况下临时保存修改
  • anaconda安装和环境配置
  • Android Http基础:图片下载并显示和WebView的应用