2013-01-13 34 views
0

在Linux中,我有很多文件,並且需要將所有文件的第n行的第m個單詞粘貼到純文本文件以及文件名中。所以我的最終文本文件看起來有點像這樣...用於測試文件操作的Linux命令

<FileName1> <mth word of nth line of FileName1> 
<FileName2> <mth word of nth line of FileName2> 
. 
. 
<FileNameN> <mth word of nth line of FileNameN> 

有人可以讓我知道這個Linux命令。 感謝你!

+0

一種[http://unix.stackexchange.com/](http://unix.stackexchange.com/) – djthoms

+0

嘗試AWK,然後告訴我們你是怎麼來更好地適應.gnu.org /軟件/ GAWK /手動/ gawk.html – hakre

回答

1
#!/bin/sh 
if [ "$#" != 3 ] 
then 
    echo "$0 [dir] [lineno] [wordno]" 
    exit 
fi 

rm -f a.txt 
dir=$1 
lineno=$2 
wordno=$3 

while read -u3 file 
do 
    read -a words < <(tail -n+$lineno $file) 
    echo $file ${words[wordno-1]} >> a.txt 
done 3< <(find $dir -type f) 
0

如何使用awk? HTTP:// WWW

#!/bin/bash 

# Usage: <line> <word> <files...> 

awk "NR==$1 { print FILENAME \" \" \$$2 }" "${@:3}"