2013-02-26 55 views
0

我有含有ubuntu的txt文件Ubuntu Linux操作系统命令提取子内部

-rw-R - R-- 1 FTP FTP 0 2月26日11时37分6.txt
-rw-R-- R-- 1 FTP FTP 0 2月26日11时37分7.txt
-RW-R - R-- 1 FTP FTP 0 2月26日11时37分8.txt

可我只是想找回文件名如

6.txt
7.txt
8 .TXT

到另一个文本文件

回答

2
awk '{print $NF}' your_file >only_names.txt 

perl -lane '{print $F[scalar(@F)-1]}' your_file >only_names.txt 

,如果你想改变现有的文件:

perl -i -lane '{print $F[scalar(@F)-1]}' your_file 
2
cut -d' ' -f 9 f1.txt > f2.txt 
+0

这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 – slfan 2013-02-26 07:03:58

+0

@RKN你提到什么链接? 'cut'是一个服务员。 – 2013-02-26 07:23:55

+0

@slfan此命令似乎正常工作。所以这是一个答案。为什么你说这个命令不正确?我比较了接受的答案(awk'{print $ NF}'your_file)和我的答案(cut -d''-f 9 f1.txt),他们给出了相同的结果 – 2013-02-26 07:26:07

0

如果你的文件名是相当一致的,我会用grep和正则表达式去:

$ grep --color=never -oE '[[:alnum:]]+\.[[:alnum:]]{3}$' files.txt 

上述禁用颜色(可能会产生干扰),只输出匹配部分(-o),使用扩展正则表达式(-E),然后找到一个或多个字母数字字符,后跟一个点(“。”),后跟正好三个字母数字字符([[:alnum:]])和一行结尾('$')。

0

如果文件中包含的空间,它可能看起来像

-rw-r--r-- 1 ftp ftp 0 Feb 26 11:37 6.txt 
-rw-r--r-- 1 ftp ftp 0 Feb 26 11:37 7.txt 
-rw-r--r-- 1 ftp ftp 0 Feb 26 11:37 a filename with space 

使用这

cut -d' ' -f9- f1.txt > f2.txt