2013-02-26 143 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