2015-04-04 63 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

相关问题