Linux命令用于测试文件操作

时间:2013-01-13 08:39:47

标签: linux file text

在Linux中,我有很多文件,我需要将所有文件的第n行的第m个字复制粘贴到普通的.txt文件中以及文件名。所以我的最终文本文件看起来有点像......

<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命令。 感谢您!!

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

如何使用awk

#!/bin/bash

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

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