csh中将txt多行转一行

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

csh中将txt多行转一行
说明:awk默认将记录分隔符(record separator即RS)设置为/n,此行代码将RS设置为EOF(文件结束),也就是把文件视为一个记录,然后通过gsub函数将/n替换成空格,最后输出。

2.采用sed
sed':a;N;s//n//;t a;'file
说明:sed默认只按行处理,N可以让其读入下一行,再对/n进行替换,这样就可以将两行并做一行。

但是怎么将所有行并作一行呢?可以采用sed的跳转功能。

:a在代码开始处设置一个标记a,在代码执行到结尾处时利用跳转命令t a重新跳转到标号a处,重新执行代码,这样就可以递归的将所有行合并成一行。

3.xargs
cat file|xargs
说明:这可能是最简单的一种方式。

This manual page documents the GNU version of xargs.xargs reads argu-ments from the standard input,delimited by blanks(which can be pro-tected with double or single quotes or a backslash)or newlines
上面是man手册对xargs的说明。

其实xargs就是对shell命令行参数限制做的一个扩展。

这条命令的含义也很简单,将file中的内容作为参数传给X程序。

如果用echo作为X程序,则命令为:
cat file|xargs echo
此命令和
cat file|xargs
行为一致,因为xargs的默认行为就是打印输出。

unix的一些工具设计很巧妙,每一项工具仅专注于完成一个功能。

往往组合起来就能实现很强大的功能。

2年前刚刚工作的时候非常喜欢玩弄各种工具,拼凑完成运维的任务。

和代码完成的功能一样,但却能顺手拈来,省掉了冗长的程序代码。

相关文档
最新文档