其中 ^. 为删除行首第一个字符
^.. 为删除行首头俩字符,以此类推。
sed -i 's/^.....//g' a.txt #整个文件所有行都删除前5个字符sed -i '1,5 s/^....//g' a.txt # 第一至五行删除钱4个字符。
或者用正则
sed -i 's/^.\{5\}//g' a.txt #整个文件所有行都删除前5个字符sed -i '1,50 s/^.\{4\}//g' a.txt # 第一至五十行删除钱4个字符。
在Linux系统中,许多元字符,如分号(semicolon),空格(space),反斜线(backslash),美元符号(dollar sigh),问号(question mark),星号(asterisk) 通常被解释为命令,-(dashes)或者--被解释为命令的选项,通过以下的方式就可以复制、移动、删除带-或者--的文件,:1、首先,创建文件,创建前缀带-或--文件不能直接使用touch命令,因为会被解释为命令的选项,所以得用追加的形式创建:
[root@linuxidc tmp]# echo >-foo.txt
[root@linuxidc tmp]# echo >-bar.txt
创建文件后,如果使用ls命令尝试通配符的方式列出文件,则会出现以下报错:
[root@linuxidc tmp]# ls -l *.txt
ls: invalid option -- '.'
Try 'ls --help' for more information.
需要在命令加入--分界符选项,分隔开选项和参数:
[root@linuxidc tmp]# ls -l -- *.txt
-rw-r--r--. 1 root root 2192022 Jan 9 09:03 137k.txt
-rw-r--r--. 1 root root 1 Jan 9 16:36 -bar.txt
-rw-r--r--. 1 root root 1 Jan 9 16:36 -foo.txt
相对应的,复制与移动文件的命令使用如下:
[root@linuxidc tmp]# cp -- -foo.txt /opt/
[root@linuxidc tmp]# mv -- -bar.txt /opt/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)