對齊都是編輯器的功能,一般是tab鍵向後,shift+tab向前,所有的都頂到最前,再向後不就對齊了
Ⅱ Linux中怎麼對第一列排序,然後輸出的結果把第二列的數據帶上。
#!/bin/bash
####/autorun/aa/yy.log是原始數據的路徑,自己替換,注意先刪除第一行的enbid rsrp,最後結果會加上
count=`cat /autorun/aa/yy.log|wc -l`
cat /autorun/aa/yy.log|awk '{print $1}' > /autorun/aa/yy2.log
let i=0
arr=()
while read line
do
arr[$i]=$line
let i=i+1
done < /autorun/aa/yy2.log
len=${#arr[*]}
let len=len-1
###進行冒泡排序
for((i=0;i<$len;i++))
do
let len=len-i
for((j=0;j<len;j++))
do
let k=j+1
if [ ${arr[$j]} -ge ${arr[$k]} ];then
temp=${arr[$k]};
arr[$k]=${arr[$j]};
arr[$j]=$temp;
fi
done
done
echo "enbid rsrp">/autorun/aa/yy3.log
len=${#arr[*]}
for((i=0;i<$len;i++))
do
echo "`cat /autorun/aa/yy.log|grep ''${arr[$i]}''`">>/autorun/aa/yy3.log
done
Ⅲ linux顯示文件前幾行的命令
使用sed命令;具體查看使用規則:
#sed --help;
顯示文件X行命令:
#sed -n 'xp' filename
顯示文件X行到Y行的內容:
#sed -n 'x,yp' filename
相關顯示命令還有tail,cat.awk,head等,可以常看LInux命令大全,或者man命令|help命令查看相關用法。
Ⅳ 為什麼linux 的ls無論窗口多大他都可以列對齊
我目前也來正在研究這個問題,我覺得是自首先他獲取到終端的寬度,然後計算出每行應該列印的個數(也就是列數)以及有多少行;接著計算了每一列的文件名的長度,並取出該列里文件名的長度的最大值,在列印時,判斷當前需要列印的是哪一列而使用對應列的文件名的長度的最大值作為欄位寬的列印,即使用"%-改列的文件名的長度的最大值s "。僅僅是個人觀點。
Ⅳ linux腳本 輸出兩個數字,按照數字從小到大排序,比如輸入:31,12,輸出結果就是12,31
[root@localhost ~]# a=""; \
> b=""; \
> tmp=""; \
> read x; \
> a=${x%%,*}; \
> b=${x##*,}; \
> if [ $a > $b ] ; then \
> tmp=$a; \
> a=$b; \
> b=$tmp; \
> fi; \
> echo $a $b
34,12
12 34
[root@localhost ~]#
可以看出我是直接把代碼粘到終端上運行的,所以每一行後都有分號作語句分隔用,然後又用\斷行,其實上面這么多行,是在同一行內。
每行前的 > 是bash shell自動給出,因為它知道代碼還沒輸完。你只要把下面這樣的代碼復制上去也就可以:
a=""; \
b=""; \
tmp=""; \
read x; \
a=${x%%,*}; \
b=${x##*,}; \
if [ $a > $b ] ; then \
tmp=$a; \
a=$b; \
b=$tmp; \
fi; \
echo $a $b
用history命令可以查詢到我確實就相當於輸入在同一行:
1022 a=""; b=""; tmp=""; read x; a=${x%%,*}; b=${x##*,}; if [ $a > $b ] ; then tmp=$a; a=$b; b=$tmp; fi; echo $a $b
1023 history
[root@localhost ~]#
Ⅵ 在linux系統中,ls命令下,如何按文件類型排列
沒有按類型排列
只有按文件大小排列
ls - S