老男孩为网友工作疑难问题解答一例
網友問題:
【潛水】object?is?c(76376610)??17:15:34
我想用shell把文件特定行打印出來,比如第一行,第十一行,第二十一行。應該怎么寫語句
【潛水】object?is?c(763766100)??17:17:51
請老師賜教,多謝多謝?
解答記錄:
【活躍】北京|老男孩(31333741)??17:17:55
做好數字序列?sed取即可
【傳說】北京-cache(149260006)??17:17:58
這不難啊
【活躍】北京|老男孩(31333741)??17:18:06
一句腳本?就可以了
很簡單
【吐槽】*^_^*該起床嘞!♂?(47561934)??17:20:17
sed?-n?'1,11,21p'?filename
正確答案:
【活躍】北京|老男孩(31333741)??17:20:45
[root@linux-node1?~]#?seq?50?>oldboy.txt?????????????????????????
[root@linux-node1?~]#?for?n?in?`seq?1?10?50`;do?sed?-n?"$n"p?oldboy.txt;done
1
11
21
31
41
補充:更簡單的解決辦法見文尾部
【吐槽】*^_^*該起床嘞!♂?(47561934)??17:22:21
還是老男孩兒考慮的深遠啊?給力?
【潛水】object?is?c(763766100)??17:22:31
明白了,seq命令不常用。
多謝老師
【活躍】北京|老男孩(31333741)??17:23:02
正好課間休息?
周末?都是最忙的時候。?大家記得?思想?比技術本身重要
【活躍】北京|老男孩(31333741)??17:24:42
【吐槽】*^_^*該起床嘞!♂?(475619344)??17:20:17
你的方法可行么??
【吐槽】最后的守望者(54006018)??17:25:03
顯然不可行的啊
【活躍】北京|老男孩(31333741)??17:26:06
也許有更好的方法,大家多動腦筋吧,我上課了。
【吐槽】*^_^*該起床嘞!♂?(47561934)??17:32:57
哦!?不好意思寫錯了
【活躍】北京|老男孩(31333741)??17:41:51
取行的命令很多,awk也可
【話嘮】稻草人(70650133)??17:43:25
長知識了
?==================================
其實還有更多的解決方法
法2:
sed -n '1~10p' oldboy.txt
~ 表示步長,即數字間隔。
法3:
[root@oldboy scripts]# cat test04.sh
for ((i=1;i<52;i=i+10))
do
?? sed -n "${i}p" /etc/services
done
?法4:補充 來自網友aaa0 贊一個
?cat -n /etc/services|awk '{if(NR%10==1)print $0}'
歡迎大家評論。網友QQ信息已處理
本文出自 “老男孩linux運維” 博客,請務必保留此出處http://oldboy.blog.51cto.com/2561410/1429349
老男孩Linux是國內少有的專注于高端Linux運維的培訓的機構,我們致力于為業內中大型企業培訓急需的高級Linux運維工程師、架構師、運維自動化開發工程師,百度、騰訊、阿里、新浪、SOHU、小米等國內知名企業都遍布著老男孩畢業學員.
老男孩培訓Linux實戰培訓,設有Linux、Python、MySQL、PHP、shell等高端大氣的實戰培訓
網址http://www.etiantian.org/
咨詢QQ:41117397、360812152
轉載于:https://blog.51cto.com/9237078/1533943
總結
以上是生活随笔為你收集整理的老男孩为网友工作疑难问题解答一例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++之运算符重载(2)
- 下一篇: eclipse git插件配置