月度归档:2009年06月

习题 (1)多种方法实现找相同字段 awk grep sort uniq

先建立两个文件
A.table

wangwei:30:100:79
yuanyi:27:829:298
ssj:26:2938:298
zhangjianzhou:27:298:293
zhangsan:34:298:102

B.table

wangba:30:100:79
yiyuan:27:829:298
ssj:26:2938:298
zhangjian:27:298:293
zhangsi:34:298:102
yuanyi:99:99:99

要求:找到这两个文件第一个字段相同的行,并显示B中同名行

方法1:
awk -F ':' ' {print $1}' A.table > name.list
grep -f name.list B.table

方法2:
awk -F : '{print $1}' A.table B.table|sort|uniq -ud >name.list
grep -f name.list B.table

/etc/fstab 详解

/etc/fatab文件的一个示例行:

fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1

1. fs_spec – 该字段定义希望加载的文件系统所在的设备或远程文件系统
例如: redhat.kumouse.com:/home/test1
2. fs_file – 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为swap;
对于加载目录名包含空格的情况,用40来表示空格。
3. fs_type – 定义了该设备上的文件系统,一般常见的文件类型为ext3,vfat,NTFS,iso9600等。
4. fs_options – 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。
对于大多数系统使用defaults就可以满足需要。其他常见的选项包括:
选项 含义
ro 以只读模式加载该文件系统

sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破
坏文件系统,但是却降低了计算机速度

user 允许普通用户加载该文件系统

quota 强制在该文件系统上进行磁盘定额限制

noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump – 该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储
若不需要转储就设置该字段为0
fs_pass – 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序
根文件系统/对应该字段的值应该为1,其他文件系统应该为2
若该文件系统无需在启动时扫描则设置该字段为0

我现在的/etc/fstab

LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
/dev/sdc1 /test ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0