淘先锋技术网

首页 1 2 3 4 5 6 7

linux 下,如何将文本每行前的空格删掉?

kwrite 选上你要删除开始为空格的那些行,之后 shift + tab 。

如果是 GNOME 环境,可以用 gedit 。

这两个好像都叫做“文本编辑器”。只不过基于的环境不同。

这个功能本来主要是方便写程序的。

linux shell 问题,清除文件中的空格

先建脚本:clearspace.sh

给脚本添加执行权限 chmod +x clearspace.sh   

编辑脚本内容:

     

       touch tmpFile   # 建临时文件

      sed 's/\ //g' $1 temFile  #sed s命令 将空格替换 重定向到临时文件

      cat temFile $1  #覆盖原文件

      rm -f temFile   #删除临时文件

      echo 'OK,DONE!'

     

执行脚本 ./clearspace.sh souceFile

实例:

执行前:

查看原文件:cat source.txt

sfd as as da la; as las j8

890asfd f22

2 23rf a 23rfa

asdf9293 22 sdf

234 23r4 sdk;

, . ' ; ds

sadf wow

sa s  sd

执行

./clearspace.sh source.txt

OK,DONE!

执行之后查看结果:cat source.txt

sfdasasdala;aslasj8

890asfdf22

223rfa23rfa

asdf929322sdf

23423r4sdk;

,.';ds

sadfwow

sassd

linux命令grep怎么取得空白行

那个命令本身就有问题出来的结果是0;

修改后的命令如下:

last| grep [a-zA-Z]|egrep -v  ‘wtmp’|wc -l

grep [a-zA-Z]排除空行,因为空行不包含字母

如何在linux系统下对文件夹名有空格的文件

在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹,

而在linux则需要进行一些特殊的处理才能实现以上功能.

(1)创建文件夹

mkdir my\ first

这条命令创建了文件夹"my first",文件夹名中my和first之间有一个空格,在命令行中需要

添加一个"\"符号和一个空格的组合

mkdir my\ \ tow

这条命令创建了文件夹"my tow",文件夹名中my和tow之间有两个空格,在命令行中需要

添加两个"\"与空格的组合

(2)移动文件夹

mv my\ first /tmp

这条命令将文件夹"my first"移动到文件夹tmp下

mv my\ \ tow /tmp

这条命令将文件夹"my tow"移动到文件夹tmp下

(3)删除文件夹

rm -r my\ first

这条命令将文件夹"my\ first"删除

rm -r my\ \ tow

这条命令将文件夹"my\ \ tow"删除

(4)进入文件夹

cd my\ first

这条命令可以进入文件夹"my first"

cd my\ \ tow

这条命令可以进入文件夹"my tow"

(5)创建压缩文件

tar czf my\ first.tar.gz my\ first

创建压缩文件"my first.tar.gz"

tar czf my\ \ tow.tar.gz my\ \ tow

创建压缩文件"my tow.tar.gz"

tar cjf my\ first.tar.bz2 my\ first

创建压缩文件"my first.tar.bz2"

tar cjf my\ \ tow.tar.bz2 my\ \ tow

创建压缩文件"my\ \ tow"

(6)解压压缩文件

tar xzf my\ first.tar.gz

解压压缩文件"my first.tar.gz"

tar xzf my\ \ tow.tar.gz

解压压缩文件"my tow.tar.gz"

tar xjf my\ first.tar.bz2

解压压缩文件"my first.tar.bz2"

tar xjf my\ \ tow.tar.bz2

解压压缩文件"my tow.tar.bz2"

总结:本文实现了对文件夹名中有空格的文件进行创建\移动\删除\进入\压缩\解压

等操作,相对于文件夹名中有空格的文件夹来说,在输入命令时需要在文件夹名之间

插入"\"与空格的组合,文件夹名中有几个空格就需要加几个组合.

LINUX删掉换行符

去掉文件中的换行符

(1)tr命令的操作是针对文件的操作,它把整个文本当做操作的对象,所以可以直接去除文件中的换行符

tr '\n' ' ' file

(2)sed的操作对象是行.而作为行分割符号的回车符,本身是不属于行的.所以sed中必须加上N命令,把下一行的内容添加到当前的pattern space中,这样实际上是把相邻的2行合并了.下一次仍然是先n,再p,再N,开始新的轮回:

cat file | sed 'N;s/\n/ /'

所以上面的语句是不能把文件内容合并为一行的,到底该怎么写,我暂时没有想到,呵呵

(3)直接用awk

awk '{printf("%s ",$0)}' file

(4)当然,用echo也是可以的:

while read line;do echo -n "$line"; done awk_help.txt, 这样,可以把awk_help.txt的内容合并为一行

sed -e "s#\[/r][/r][/n]#\[/r][/n]#g" file

linux中如何用rename命令重命名一个文件

用法如下:

$ rename [options] [perlexpr] [files]

PS:

(1)options

-v 显示成功重命名的文件-n 只显示将被重命名的文件,但是不进行重命名-f 如果文件已存在,覆盖-e 表明需要需要被执行的code,如果没有-e,那么第一个参数将被当成code。

(2)perlexpr

这是一个Perl表达式,文件名应当在其中被改变,没学过Perl也没关系,这个命令用到的语法很像sed,容易上手。

(3)files

需要重命名的文件。

扩展资料:

linux中如何用rename命令重命名一个文件示例:

1、去除文件扩展名

$ rename 's/\.bak$//' *.bak

2、去除文件名中的空格

$ rename 's/ //g' *

3、文件名转为小写

$ rename 'y/A-Z/a-z/' *

4、现在有一堆文件,他们的文件名模式是这样的第一部分-haha-第二部分.file ,现在要把中间的-haha- 删去并把第一部分的字符串和第二部分的字符串对调,可以这样:

$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file