DOS/Windows和Linux/Unix间文件格式转换
如何在Linux/Unix中转换windows文本文件的回车符由于windows文本文件的回车符通常是2个字符构成的,回车和换行,对应ASCII是0D,0A。如何将之转换成Linux/Unix文件系统中的换行符呢?下面介绍2个简单的方法(一般0D 0A构成的换行在Linux/Unix中会显示显示^M,我们只需要将之去掉就可以了) 1. 用sed命令替换sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m,呵呵~~ 其实俺主要就是为了记录一下这个输入方法) 2. 在vi中替换:%s/^M//gDOS/ 和Linux/Unix的文件换行回车
Unix系列shell程序编写
*Shell是什么? 任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。 为了不同的需要,UNIX提供了不同的Shell。现在的UNIX大部分都支持BourneShell,以下教程就以BourneShell(Bsh)为例,一步步的领略UNIXShell的强大功能,占先其强大魅力,达到更方便灵活的管理、应用UNIX的目的。 1.UNIX内核和Shell的交互方法 启动UNIX时,程序UNIX(内核)将被调入计算机内存,并一直保留在内存中直到机器关闭。在引导过程
Shell下的数字比较及计算
比较:方法一: if [ ${A} -lt ${B} ]; then …这是最基本的比较方法,使用lt(小于),gt(大于),le(小于等于),ge(大于等于),优点:还没发现;缺点:只能比较整数,使用lt,gt等不直观方法二: if ((${A} < ${B})) then …这是CShell风格比较,优点:不用使用lt,gt等难记的字符串;缺点:还是只能比较整数方法三: if (echo ${A} ${B} | awk ‘!($1>$2){exit 1}’) then …这是使用awk比较,优点:可以比较小数;缺点:表达式太复杂,难记方法四: if (echo ${A} – ${B} | bc -q | grep -q “^-”); then …这是使用bc计算比较,优点:
类Unix流编辑器sed在线极速入门 第三部分
类Unix流编辑器sed在线极速入门 第三部分强健的 sed在 第二部分 sed 文章中,提供了一些示例来演示 sed 的工作原理,但是它们当中很少有示例能实际做特别 有用的事。在这篇 sed 系列的最后一部分文章中,我要改变那种方式,并使用 sed 来做实际的事。我将为您显示几个示例,它们不仅演示 sed 的能力,而且还做一些真正巧妙(和方便)的事。例如,在本文的后半部,将为您演示如何设计一个 sed 脚本来将 .QIF 文件从 Intuit 的 Quicken 金融程序转换成具有良好格式的文本文件。在那样做之前,我们将看一下不怎么复杂但却很有用的 sed 脚本。
类Unix流编辑器sed在线极速入门 第一部分
类Unix流编辑器sed在线极速入门 第一部分本文章系列包括三部分,为您演示如何使用功能十分强大(但常被遗忘)的 UNIX 流编辑器 sed。sed 是用批处理方式编辑文件或以十分有效的方式创建 shell 脚本以修改现有文件的理想工具。挑选编辑器在 UNIX 世界中有很多文本编辑器可供我们选择。思考一下 -- vi、emacs 和 jed 以及很多其它工具都会浮现在脑海中。我们都有自己已逐渐了解并且喜爱的编辑器(以及我们喜爱的组合键)。有了可信赖的编辑器,我们可以轻松处理任何数量与 UNIX 有关的管理或编程任务。虽然交互式编辑器很棒,但却有其限制。
类Unix流编辑器sed在线极速入门 第二部分
类Unix流编辑器sed在线极速入门 第二部分sed 是十分强大和小巧的文本流编辑器。在本文章系列的第二部分中,将为您演示如何使用 sed 来执行字符串替换、创建更大的 sed 脚本以及如何使用 sed 的附加、插入和更改行命令。sed 是很有用(但常被遗忘)的 UNIX 流编辑器。在以批处理方式编辑文件或以有效方式创建 shell 脚本来修改现有文件方面,它是十分理想的工具。本文是 前一部分介绍 sed 文章的续篇。替换!让我们看一下 sed 最有用的命令之一,替换命令。使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令
Unix系列shell程序编写:下篇
Unix系列shell程序编写:下篇Until语句 While语句中,只要某条件为真,则重复执行循环代码,until语句正好同while相反,该语句使循环代码重复执行,直到遇到某一条件为真才停止。Until语句的结构如下:until command do command command … … done 可以用until语句替换上面备份程序的while语句,完成同样的功能:until [ $ANS != Y -a $ANS != y ]for 循环 在介绍for循环之前,我们要学个非常有用的unix命令:shift。我们知道,对于位置变量或命令行参数,其个数必须是确定的,或者当Shell 程序不知道
Unix系列shell程序编写:中篇
Unix系列shell程序编写:中篇3>在Shell中使用数据变量 用户可以在Shell中使用数据变量,例如ba.sh程序: cd/usr/icewalk ls|cpio -o > /dev/fd0 该程序中要备份的目录为一常量,即该程序只能用来备份一个目录。若在该程序中使用变量,则会使其更通用: workdir=$1 cd $workdir ls * |cpio -o > /dev/fd0 通过这一改变,用户可以使用程序备份变量$workdir指定的目录。例如我们要备份/home/www的内容,只要运行ba.sh/home/www即可实现。(若不明白$1,下面将详细介绍shell参数的传递,$1
Unix系列shell程序编写:上篇
*Shell是什么? 任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。 为了不同的需要,UNIX提供了不同的Shell。现在的UNIX大部分都支持BourneShell,以下教程就以BourneShell(Bsh)为例,一步步的领略UNIXShell的强大功能,占先其强大魅力,达到更方便灵活的管理、应用UNIX的目的。 1.UNIX内核和Shell的交互方法 启动UNIX时,程序UNIX(内核)将被调入计算机内存,并一直保留在内存中直到机器关闭。在引导过程
awk在线实例入门教程 第3部分
awk在线实例入门教程 第三部分——字符串函数和……支票簿?格式化输出虽然大多数情况下 awk 的 print 语句可以完成任务,但有时我们还需要更多。在那些情况下,awk 提供了两个我们熟知的老朋友 printf() 和 sprintf()。是的,如同其它许多 awk 部件一样,这些函数等同于相应的 C 语言函数。printf() 会将格式化字符串打印到 stdout,而 sprintf() 则返回可以赋值给变量的格式化字符串。如果不熟悉 printf() 和 sprintf(),介绍 C 语言的文章可以让您迅速了解这两个基本打印函数。在 Linux 系统上,可以输入 "man 3 printf" 来查
awk在线实例入门教程 第二部分
awk在线实例入门教程 第二部分——记录、循环和数组多行记录awk 是一种用于读取和处理结构化数据(如系统的 /etc/passwd 文件)的极佳工具。/etc/passwd 是 UNIX 用户数据库,并且是用冒号定界的文本文件,它包含许多重要信息,包括所有现有用户帐户和用户标识,以及其它信息。在第一部分中,演示了 awk 如何轻松地分析这个文件。我们只须将 FS(字段分隔符)变量设置成 ":"。正确设置了 FS 变量之后,就可以将 awk 配置成分析几乎任何类型的结构化数据,只要这些数据是每行一个记录。然而,如果要分析占据多行的记录,仅仅依靠
awk在线实例入门教程 第一部分
awk在线实例入门教程 第一部分———一种名称很奇特的优秀语言介绍Awk 是一种名称奇怪但功能强大的语言。本系列文章是一个包含三部分(分别发布至本帖1#, 2#, 3#楼)。本文将使您迅速掌握 awk 编程技巧。随着本系列的进展,将讨论更高级的主题,最后将演示一个真实的高级 awk 应用程序。捍卫 awk在这一系列的文章中,我将使您成为精通 awk 的编程人员。我承认,awk 并没有一个非常好听且又非常 “时髦” 的名字。awk 的 GNU 版本(叫作 gawk)听起来非常怪异。那些不熟悉这种语言的人可能听说过 "awk",而且可能认为它是一组落伍且