所以我有一大块格式化文本,我基本上需要使用awk从其中取出某些列,我做的第一件事是去掉前10行(标题信息,与我需要的信息无关)。
接下来,我将文件中的总行数减去10,得到了尾部。
import=$HOME/$1
if [ -f "$import" ]
then
#file exists
echo "File Exists."
totalLines=`wc -l < $import`
linesMinus=`expr $totalLines - 10`
tail -n $linesMinus $import
headless=`tail -n $linesMinus $import`
else
#file does not exist
echo "File does not exist."
fi
现在我需要将这个尾部保存到一个变量中(或者甚至是单独的文件),以便访问列。
问题就出在这里:
headless=`tail -n $linesMinus $import`
当我将代码保存到这个变量中,然后尝试将其回送时,它都是未格式化的,而且我无法区分要在其上使用awk的列。
我怎样才能保存这个文件的尾部而不影响格式?
2条答案
按热度按时间plicqrtu1#
只需使用
Awk
。它可以同时在一个程序中完成你需要的一切。例如,跳过前10行,然后打印第二、第三和第四列(用空格分隔),用于
INPUT_FILE
的所有剩余行:wr98u20j2#
我想明白了,当我问这个问题的时候,我已经回答了我自己的问题。我所做的只是将tail命令重定向到主目录中的一个文件,然后我就可以cat那个文件了。不过要记住在最后删除它!