如何把多行內的多個column當成參數執行 - Linux

Jake avatar
By Jake
at 2016-10-09T10:06

Table of Contents

我有從別的來源的紀錄譬如

時間;檔名
201610060820.18;pic1.tif
201610060820.29;pic5.tif
這樣,我想執行touch -d $1 "$2"

或是
num1;num2;sda
0;31;sda
100;128;sda
2047;1;sdb
想執行
dd if=/dev/$3 of=/tmp/$3_$1-$2 skip=$1 count=$2
然後讀出特定位置到檔案

那個$1 $2就是對應column的順序

問題是我如果直接用cut -d ';' -f 1
一開始就有問題,我推測是一開始$1就好幾行造成的,
所以我想到的是用迴圈一次sed印出一行→cut不同column指定到變數→指令+變數

我想請問有沒有更短的方式,從資料讀出→擺上需要的文字後,直接執行?


我目前是用文書軟體把每一個column切下,前後擺上指令框架合併,貼成script
再執行,不過那些database會一直變化,如果每次都這樣就工程浩大了。

--
"Don't hate the player. Hate the game."
當看到哪個名人賺了大錢,領到高額補助或利息,不要去指責他,
而是要指責那個制度、創造那個制度的人,以及默許那個制度的人。

不然你認為一個人不領18%或是一個人不炒房價,就會改變整體環境嗎?
還不如改變【修改制度的人】,才能從根源改變一切。

--
Tags: Linux

All Comments

Rae avatar
By Rae
at 2016-10-11T05:37
如果欄位沒有什麼意外 我想法是把;和\n都換成\0再用xargs
Emily avatar
By Emily
at 2016-10-15T03:55
tr '\n;' '\0'<input.txt|xargs -0 -n2 bash -c 'touch -
d $0 "$1"'
Tom avatar
By Tom
at 2016-10-18T23:41
tr '\n;' '\0'<input.txt|xargs -0 -n2 touch -d
如果沒要換順序的話可以這樣寫
Joseph avatar
By Joseph
at 2016-10-20T18:18
awk -F';' '{print "touch -d "$1" \""$2"\""}'
Daniel avatar
By Daniel
at 2016-10-23T13:17
如果欄位資料有跨行,那需要'BEGIN{RS=某}'修正
Tracy avatar
By Tracy
at 2016-10-27T14:53
用 read 寫迴圈一行一行讀
Gary avatar
By Gary
at 2016-10-31T03:24
我都用 awk printf 出指令,pipe 給 sh -
Yedda avatar
By Yedda
at 2016-10-31T15:28
IFS=';'
Suhail Hany avatar
By Suhail Hany
at 2016-11-01T02:46
while read one two three others
Liam avatar
By Liam
at 2016-11-02T23:29
do echo "$one,$two,$three,$others"
done < 要讀入的檔案
Puput avatar
By Puput
at 2016-11-05T02:36
unset IFS
Eartha avatar
By Eartha
at 2016-11-07T02:32
第一個欄位會存入one, 第二個會存入 two, ...
read 後面接四個變數,第一二三欄位會存入前三個變數,
Jack avatar
By Jack
at 2016-11-07T04:12
第四個欄位及以後會存入第四個變數
Poppy avatar
By Poppy
at 2016-11-11T22:32
感謝各位

ssh搭配screen

Victoria avatar
By Victoria
at 2016-10-09T01:05
因為screen非常好用, 所以我習慣每次ssh連入後打screen再執行程式, 這樣就可以把程式丟著執行.... 但是最近老了常忘東忘西, 常常ssh連入主機後,忘了先screen就直接執行程式, 導致我不能中斷ssh,只能先中 ...

Centos /home無法掛載導致無法正常開機

Agnes avatar
By Agnes
at 2016-10-07T14:37
之前因為要重新分配lvm空間大小 將伺服器中/home解除掛載 然後將其空間減小後重新掛載 一切看似正常一直到今天重開機後突然告訴我/home無法被掛載 中間因為隔了很久又換了台電腦 備份的資料也不見了 有什麼辦法可以將其掛載回去嗎 dmesg | tail -n 20 的訊息是 attempt to ac ...

憑證安裝卡關

William avatar
By William
at 2016-10-07T14:09
大家好,第一次在小企鵝版發文,還請各位前輩多多指教。 先自介,前端工程師,對伺服器完全不熟orz 這幾天在處理憑證的部分(從申請開始),目前憑證已到手安裝中。 先說我目前執行過的流程: 1. 把需要的檔案丟到對應的資料夾裡(私密金鑰等等共兩個檔案,中繼先略) 2. 修改ssl.conf:SSLCert ...

請益有人在Pi2 修改過MPTCP的核心嗎?

Quintina avatar
By Quintina
at 2016-10-07T02:19
想問一下各位LINUX版上的大大 我們硬體和系統版本如下 硬體:Rasspberry Pi 2 系統:Ubuntu mate 16.04 我想要修改核心加入MPTCP這個PROTOCAL 我原本用apt-get 把官網提供的souce抓下來 但後來發現 官網提供的只有I386和AMD64的架構的sour ...

現行MBR增加GPT硬碟

Oliver avatar
By Oliver
at 2016-10-07T01:55
因為硬碟不夠用,想要加一顆硬碟 預計買3TB的,系統開機是用MBR,主機板支援UEFI 因為是3TB所以勢必要用GPT分割表 想請問一下,有沒有需要做什麼更改才可以存取GPT? 目前打算當資料碟而已,系統還是維持不變 -- 如果你攻略了一個合法的小蘿莉,你就可以享受到她從小慢慢長大的所有過程 你可以享受那嬌 ...