Linux课的几个Shell编程学习札记。1、找出文件sample.txt中出现”Linux”的次数#!/bin/bash #how many "Linux" in Linux.txt? grep -o "Linux" Linux.txt | wc -l2、将/etc/passwd的第一列(用户名)取出,以”the n account is $usr”显示每一个用户名。n表示行数,其中,/etc/passwd以”:”作为分隔符#!/bin/bash #find the first column of /etc/passwd awk -F: "{printf("the %d account is %s
",NR,$1)"} /etc/passwd{和}前面的"不能用替换,否则会出错。NR是awk自带的记录数变量。awk的相关知识 http://www.linuxidc.com/search.aspx?where=nkey&keyword=51293、隔行显示文件的内容#!/bin/bash #print odd row cat test.txt | awk "{if (NR%2==1) print $0}"如果要隔行删除这个文件的内容,那么可以把输出重定向,然后删除原文件4、删除当前目录下非指定日期的文件#!/bin/sh ls -1 |while read line do month=`echo $line|awk "{print $6}"` day=`echo $line|awk "{print $7}" time=echo $line|awk "{print $8}" file=`echo $linr|awk "{print $9}" if [ $month="RIGHTMONTH" -a $day="RIGHTDAY" -a $time="RIGHTTIME" then continue else rm $filr fi done这个最好不要轻易尝试,我试了下不小心就把所有脚本文件都删了,在回收站中找不到,应该是进黑洞了,欲哭无泪..5、挂载/卸载U盘到/mnt/usb#fidsk -l #VM->snapshot->找到u盘 #cat /proc/partitions 显示文件系统 cd /mnt mkdir usb sudo mount /dev/sdb1 ./usb #挂载 cd usb ls -l cd .. umount ./usb #卸载