shell中字串分割
shell中字串分割
例子:
[一],將如下字串存放於t.txt檔案下
1:6:0;2:4794537:1;3:19:0;4:28200:0;6:12:1;7:130:1;11:84439:0;
1:1:0;2:108914:0;7:10:0;
1:5:0;2:7104035:1;3:48:1;4:150070:1;6:18:1;7:79:0;
1:1:0;16:10:0;2:380200:0;4:5050:0;6:5:0;10:1:0;11:345715:0;13:2000:0;
........
將如上字元,轉換成如下型別:
[二],將轉換好的字元存放於task_outfile.txt檔案下
1:6:0
6:12:1
7:130:1
11:84439:0
1:1:0
2:108914:0
2:7104035:1
......
最終結果需要得到如下:
[三],
6:12:1
7:130:1
2:7104035:1
......
方法如下:
如上[一到二]轉換:
#!/bin/bash
while read line
do
myline=`echo $line | tr -cd ';' | wc -c` #統計行字串中";"數量
num=1
while [ $num -le $myline ] #每行";"數量迴圈次數
do
echo $line | cut -f $num -d ';' >> ./task_outfile.txt #每行";"作,分割點
let num=num+1
done
done <.>
而後....
[二到三]轉換:
#!/bin/bash
while read line
do
myline=`echo $line|awk -F ":" '{print $3}'` #":"分隔條件,取第3個域
if [ $myline -eq 1 ]
then
echo $line >> ./task.txt
fi
done < ./task_outfile.txt
這裡用到while do ... done,從檔案中一行行讀取字串read ...,等.
增加些內容:
問題如下:
a b (2列名稱便於說明)
2757600 2:46601:0;10:46601:0;
轉化成如下格式:
2757600 2:46601:0
2757600 10:46601:0
方法如下:
#!/bin/bash
while read line
do
tmpmyline=`echo $line | awk -F " " '{print $2}'` #取出b列字元
myline=`echo $tmpmyline | tr -cd ';' | wc -c` #統計b列中;數量
num=1
while [ $num -le $myline ]
do
tmpline=`echo $line | awk -F " " '{print $1}'` #取出a列資料
var=$tmpline
var2=`echo $tmpmyline | cut -f $num -d ';'` #按照b列中;分割
var3=" "
var=${var}${var3}${var2} #a列+空格+字元
echo ${var} >> ./task_outfile.txt
let num=num+1
done
done <.>
2757600 2:46601:0
2757600 10:46601:0
若將其資料貼如excel中,請過濾下行之間的"空格"(這也是遇到問題,未解決...),否則,行資料
放在一個格子中;
參考內容:
1.http://blog.csdn.net/fansongy/article/details/6724228 ---shell程式設計控制結果;
2.http://lyklove123.blog.163.com/blog/static/199371378201282935514507/ --shell從檔案中讀取資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-753552/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 字串-字串分割字串
- Shell中的字串擷取介紹字串
- PHP分割字串PHP字串
- Shell基礎教程七:Shell字串字串
- Python中,如何使用反斜槓 ““分割字串?Python字串
- c++ 分割字串C++字串
- 分割字串問題字串
- python如何分割字串Python字串
- leetcode 1525 字串的好分割數目(雜湊表,字串分割)LeetCode字串
- shell 給字串增加單引號,並移除字串中多餘的空格字串
- Python的字串分割方法Python字串
- 字串分割 提取數字字串
- shell切分字串到陣列字串陣列
- shell字串處理總結字串
- shell中輸入字串和文字在同一行字串
- shell 檔案合併 去重 分割
- 【轉載】Python字串操作之字串分割與組合Python字串
- LeetCode-824. Goat Latin(字串分割)LeetCodeGo字串
- JavaScript split() 分割字串生成陣列JavaScript字串陣列
- [20181212]bash shell 字串 補零.txt字串
- 記一次字串分割的工作字串
- 動態規劃——字串分割(Word Break)動態規劃字串
- shell字串按照指定分隔符切割字串
- shell 使用陣列及字串擷取陣列字串
- Linux 使用 shell 指令碼處理字串Linux指令碼字串
- 例題讀入字串,包括換行,然後用#f分割字串字串
- C++分割字串,及strtok函式使用C++字串函式
- Perl split字串分割函式用法指南字串函式
- mysql 如何查詢逗號“,”分割的字串MySql字串
- 你可能不知道的字串分割技巧字串
- Python3 - 用Shell萬用字元匹配字串Python字元字串
- shell字串是否以a-zA-Z字母開頭字串
- Linux Shell 生成隨機數和隨機字串Linux隨機字串
- 【SHELL】Shell中的條件判斷
- Leetcode:1616. 分割兩個字串得到迴文串LeetCode字串
- Golang 字串分割,替換和擷取 strings.SplitGolang字串
- shell(2)永久環境變數和字串顯位變數字串
- shell指令碼擷取字串字尾名,檔名指令碼字串
- Java String類,字串常量池,建立方法,字串的獲取,擷取,轉換,分割。Java字串