Shell-Script
在 Unix Shell 腳本中的 Cut 中使用製表符分隔符
我有
input.txt
以 TAB 分隔格式包含以下數據的文件-23776112 Inactive Active 23415312 Inactive Active
根據要求,在while循環中,我想使用剪切第一列的數據並列印它-
以下是程式碼的一部分-
...... ...... while read line do SN=`echo ${line}|cut -d ' ' -f1` echo $SN done < input.txt .... ....
要將製表符用作上面的分隔符,我正在使用
Ctrl V
Tab
但輸出不如預期。我得到 O/P-
23776112 Inactive Active 23415312 Inactive Active
而我想要 O/P 像 -
23776112 23415312
cut -f 1 input.txt
這為您提供了製表符分隔文件的第一列
input.txt
。預設欄位分隔符cut
是製表符,因此無需進一步指定。如果分隔符實際上是空格,請使用
cut -d ' ' -f 1 input.txt
如果事實證明有多個製表符和/或空格,請使用
awk
:awk '{ print $1 }' input.txt
無論您使用
cut
還是,此操作都不需要 shell 循環awk
。另請參閱“為什麼使用 shell 循環處理文本被認為是不好的做法? ”。
您的腳本不起作用的原因是當您
echo
使用未引用的變數時選項卡會消失。有關的: