转自: www.chinaunix.net 特此感谢
sed与unix 命令等价代码
特此感谢转贴者:admirer
代码:
-------------------------------------------------------------------------------
cat | sed ':'
cat -s | sed '/./,/^$/!d'
tac | sed '1!G;h;$!d'
grep | sed '/patt/!d'
grep -v | sed '/patt/d'
head | sed '10q'
head -1 | sed 'q'
tail | sed -e ':a' -e '$q;N;11,$D;ba'
tail -1 | sed '$!d'
tail -f | sed -u '/./!d'
cut -c 10 | sed 's/\(.\)\{10\}.*/\1/'
cut -d: -f4 | sed 's/\(\([^:]*\):\)\{4\}.*/\2/'
tr A-Z a-z | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
tr a-z A-Z | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
tr -s ' ' | sed 's/ \+/ /g'
tr -d '\012' | sed 'H;$!d;g;s/\n//g'
wc -l | sed -n '$='
uniq | sed 'N;/^\(.*\)\n\1$/!P;D'
rev | sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
basename | sed 's,.*/,,'
dirname | sed 's,[^/]*$,,'
xargs | sed -e ':a' -e '$!N;s/\n/ /;ta'
paste -sd: | sed -e ':a' -e '$!N;s/\n/:/;ta'
cat -n | sed '=' | sed '$!N;s/\n/ /'
grep -n | sed -n '/patt/{=;p;}' | sed '$!N;s/\n/:/'
cp orig new | sed 'w new' orig[/code:1:739eb4cef5]
-------------------------------------------------------------------------------
awk与unix 命令等价代码
特此感谢作者:飞灰橙
代码:
-------------------------------------------------------------------------------
cat |awk '{print}'
cat -s |awk '{blank = NF == 0 ? ++blank : 0; if (blank <= 1) print;}'
tac |awk '{t[NR] = $0;}END{for (i = NR; i >= 1; i--) print t[i];}'
grep patten |awk '/patten/{print}'
grep -v patten |awk '! /patten/{print}'
head |awk 'NR <= 10 {print}' 24.sh
head -1 |awk '{print; exit; }' 24.sh
tail |awk '{t[n++ % 10] = $0}END{for (i = 0; i < 10; i++) print t[n++ % 10];}'
tail -1 |awk '{t = $0}END{print t}'
cut -c 10 |awk '{print substr($0, 10, 1)}'
cut -d: -f4 |awk -F: '{if (NF > 1) print $4; else print;}'
tr A-Z a-z |awk '{print tolower($0);}' se.sh
tr a-z A-Z |awk '{print toupper($0);}' se.sh
tr -s ' ' |awk '{print gensub(" +", " ", "g")}'
tr -d '\012' |awk '{printf "%s", $0}'
wc -l |awk 'END{printf "% 7d\n", NR-1}'
uniq |awk '{if (NR == 1 || ln != $0) print; ln = $0;}'
rev |awk '{l = ""; for (i = length($0); i > 0; i--) printf "%c", substr($0, i, 1); print "";}'
basename |awk -F'/' '{print $NF}'
dirname |awk -F'/' '{if (NF <= 1) printf "."; else {OFS="/"; $NF=""; printf "%s", substr($0, 1, length($0) - 1);}}'
xargs |awk '{printf "%s ", $0}END{print}'
paste -sd: |awk 'NR > 1{printf ":%s", $0}'
cat -n |awk '{printf "% 6d %s\n", NR, $0}'
grep -n |awk '/ss/{print NR":"$0}'
cp orig new |awk '{print > "new"}' orig
-----------------------------------------------------------------------------
分享到:
相关推荐
### shell中常见命令与awk, sed的等价命令详解 #### 一、基本概念与工具简介 在Linux或Unix环境中,shell脚本是自动化任务处理的重要手段之一。shell提供了丰富的命令来实现各种功能,而`awk`和`sede`则是其中两个...
**Shell编程与Unix命令详解** 在信息技术领域,Shell编程和Unix命令是不可或缺的技能,尤其对于系统管理员和开发者来说更是如此。本文将深入探讨这两个主题,帮助你掌握基础及高级技巧,提升工作效率。 **一、...
### UNIX常用命令详解 #### 一、概述 UNIX操作系统是一套多用户、多任务的操作系统,自1970年代以来被广泛应用于科学计算、工程设计、网络服务等多个领域。其命令行界面提供了丰富的工具和命令,使得用户能够高效...
sed是Unix和类Unix系统中常用的文本处理工具,它可以对输入的文本流进行处理和转换。sed的特点是只需要对输入文本扫描一次,因此相对于其他需要多次访问文件的文本编辑器来说,sed更加高效。sed能够将脚本应用于从...
### Unix ed 编辑器命令详解 #### 一、引言 在 Unix/Linux 平台上,文本编辑是一项基本且重要的技能。其中,ed 编辑器作为最早出现的行模式编辑器之一,对于理解 Unix/Linux 下的基础文本操作具有重要的意义。尽管...
`test`命令或其等价的`[`...`]`用于进行条件测试,如文件存在性、数值比较等。`if`、`case`、`for`、`while`则构成流程控制结构。 9. **正则表达式与通配符** 正则表达式用于模式匹配和文本操作,而通配符如`*`...
Shell 基础 - Sed 编辑器 Sed 编辑器是一种非交互性文本流编辑器,用于...ASCII 代码等价的控制字符、在定位行执行的命令组等。 Sed 编辑器是一个功能强大且灵活的文本编辑工具,广泛应用于 Linux 和 Unix 系统中。
4. **条件测试**:test命令或其等价的[ ]用于检查各种条件,如文件是否存在、变量是否为空等。 5. **正则表达式**:在shell脚本中,正则表达式常用于字符串匹配和替换。 **学习资源** "linux_unix_shell.pdf"文档很...
Linux/Unix Shell编程是操作系统与用户交互的重要方式,它是一种脚本语言,允许用户通过命令行界面执行系统级任务和自动化工作流程。Shell不仅提供基本的命令行操作,还可以编写复杂的脚本来处理文件、目录、进程和...
4. **四个强大的UNIX工具**:find、grep、sed、awk,这些工具被广泛应用于文本搜索与处理。 #### 二、常用Linux命令详解 ##### 2.1 命令的格式 - **一般Linux命令的格式**:`command [–options] [arguments]` -...
使用`-`可以在字符集中指定一个范围,如`[1-5]`等价于`[12345]`。 3. **只匹配字母和数字** 在正则表达式中,字母和数字可以直接使用,如`A`匹配'A',`1`匹配'1'。如果想匹配字母和数字,可以使用字符集`[A-Za-z0-...
最后,书中可能包含了一些实用的工具和命令的使用方法,如grep、sed、awk和find,这些都是Linux系统中的强大文本处理工具,它们可以与Bash脚本结合,实现强大的数据过滤和处理。 总之,《高级Bash脚本编程指南》是...
2. **条件测试**:shell提供了多种条件测试结构,如`[ ]`(等价于`test`命令)和`[[ ]]`,用于检查文件存在性、字符串是否相等或空等条件。 3. **流程控制**:包括`if-else`、`for`、`while`循环,用于根据条件执行...
- **文件内容替换**:结合`sed`或`awk`进行更复杂的文本处理,例如替换文件中的某些模式。 #### 六、参考与资源 - **官方文档**:查阅grep的官方手册页面可以获得最权威的信息。 - **在线教程**:互联网上有许多...
以上示例中,尽管两个表达式在数学上等价,但由于浮点数运算的不确定性,最终结果可能不同。这是使用任何支持浮点运算的语言时都需要注意的问题。 此外,Perl还支持对字符串的操作,字符串可以通过双引号或单引号...
在 Linux 和 Unix shell 环境下,正则表达式的应用非常广泛,不仅限于 grep、sed 和 awk 这样的工具中。 #### 特殊符号及其含义 - **星号(*)**:表示前面的字符可以出现任意次,包括 0 次。例如,在 `grepa*test....
- **grep**:Linux/Unix命令行工具,用于搜索文件中符合正则表达式的行。 - **sed**:流编辑器,可以使用正则表达式对输入流进行替换、删除等操作。 7. **学习资源** - 通过阅读《正则表达式系统教程.CHM》这样...
例如,`grep|sed`匹配`grep`或`sed`。 4. **`()`**:分组符号,可用于组合多个模式。例如,`love(able|rs)ov+`匹配`loveable`或`lovers`,其中`ov`出现一次或多次。 5. **`x{m}`, `x{m,}`, `x{m,n}`**:与基本集中的...