2015-04-04 73 views
-2

我如何可以比較每個字的值給定的字符串如何打印字符串的每個字在UNIX分開,並獲得位置

樣品字符串

i am over here i am programmer(這條線一定只是第一線之後開始我)

要求: 需要檢查第一個字符串在哪一列(位置)開始,並且必須確保第二行必須從同一列(位置)開始。

+0

發佈給定樣本輸入的預期輸出並更好地解釋問題。您還沒有收到其他答案,因爲到目前爲止問題還不清楚,但無論您嘗試如何回答您目前選擇的答案都是錯誤的方法,並且包含了會給您輸入文件的其他內容帶來麻煩的錯誤。 – 2015-04-04 14:38:03

回答

0

檢查第一個非空這樣的:

lead=$(head -n1 file | grep -o '^ *') 
col=$(echo $lead | wc -c) 
((col--)) 
echo "column: $col" 

現在刪除第二行的第一空白和空白添加的適量。

sed -i "2s/^ */$lead/" file 

實施例:

$ cat file 
     haha 
    some test 
$ bash script.sh 
colummn: 6 
$ cat file 
     haha 
     some test 

這裏script.sh包含上面的代碼行。

+0

謝謝@shellfish。我的方法就像step1。獲取列號。通過比較Y * XX =''的每個組合並保存!=''的XX號,從第一行中的字母開始使用同一行號Y內的循環和'XX'。 。第2步。將在下一行檢查XX位置和XX + -1位置的值是否爲''。有沒有什麼辦法來實現這一點。 – Tej 2015-04-04 12:10:59

+0

嘗試awk解決問題,當您遇到問題或遇到問題時,請提出另一個問題! – ShellFish 2015-04-04 12:25:22

相關問題