linux 取文本固定几列

例如一个文本,用何命令取文本第1,第3列形成一个新的文本呢?... 例如一个文本,用何命令取文本第1,第3列形成一个新的文本呢? 展开
 我来答
赣州百态网w4
2014-04-29 · TA获得超过355个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:144万
展开全部
整个Linux都是架构在文件上的,所有的设备等等都是文件。 文本文件是最好读取的,也方便最终用户配置。
个人认为,识别配置文件都是将配置文件的内容当成变量来识别。
[root@dba ~]# cat ip.txt
192.168.1.1 b
192.168.1.1 c
[root@dba ~]# cat a.sh
#!/bin/bash
while read LINE;
do
echo -e "${LINE} `ping -c 1 ${LINE}| grep -1 "transmitted"| sed 'N;N;s/\n/ /g'| awk -F",| " '{print $10,$13,$18,$22}' | awk -F"/" '{print $1,$2,$3,$4}';`"
done<ip.txt
[root@dba ~]# ./a.sh
192.168.1.1 b 1 0% 0ms 0.864 0.864 0.864 0.000
192.168.1.1 c 1 0% 0ms 0.829 0.829 0.829 0.000

是这意思不?

取某列的话,取出来放到一个临时文件里,然后想怎么操作就怎么操作,然后再把临时文件删了,方法可以有很多种,关键是根据各种环境灵活运用啊
[root@dba ~]# cat ip.txt
192.168.1.1 b
192.168.1.1 c
[root@dba ~]# awk -F " " '{print $2}' ip.txt > temp.txt
[root@dba ~]# cat temp.txt
b
c
[root@dba ~]# sed '2s/[a-z]/999/g' temp.txt
b
999
[root@dba ~]# rm -rf temp.txt

是这意思不?觉得可以给好评啊亲!
yaohyong2008
2014-04-29 · TA获得超过378个赞
知道小有建树答主
回答量:707
采纳率:33%
帮助的人:216万
展开全部
awk -F, '{print $1 $3}' file
-F 后改分隔字符
追问
  多谢,那应该是这样了。
awk -F\t '{print $1 $3}' file
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
折钰03H
2014-04-29 · 超过68用户采纳过TA的回答
知道答主
回答量:406
采纳率:0%
帮助的人:177万
展开全部
可以使用cut命令和awk命令解决。
可以私下讨论一下shell编程的问题哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式