我有以下檔案(wishlist.txt):
Alligatoah Musik_ist_keine_l?sung;https:///uhfhf
Alligatoah STRW;https:///uhfhf?i
Amewu Entwicklungshilfe;https:///uhfhf?i
并且想要第n行的第一個單詞。所以對于n = 1:
Alligatoah
到目前為止我所擁有的是:
sed -e 's/\s.*//g' wishlist.txt
有沒有一種優雅的方法來擺脫除n之外的所有行?
編輯:
如何將 bash 變數“ $i ”傳遞給 sed,因為
sed -n '$is/ .*//p' $wishlist
和
sed -n "\`${i}\`s/ .*//p" $wishlist
不起作用
uj5u.com熱心網友回復:
獲取第 3 行第一個單詞的其他一些技巧:
awk -v line=3 'NR == line {print $1; exit}' file
或者
head -n 3 file | tail -n 1 | cut -d ' ' -f 1
uj5u.com熱心網友回復:
像這樣的東西。對于第 3 行的第一個單詞。
sed -n '3s/\s.*//p' wishlist.txt
使用變數: 注意:雙引號。
line=3; sed -n "${line}s/\s.*//p" wishlist.txt
uj5u.com熱心網友回復:
sed支持“地址”,因此您可以告訴它要操作的行。要僅列印第一行,您可以使用
sed -e '1!d; s/\s.*//'
其中的1!d意思是:在除 1 之外的行上,洗掉該行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/362995.html
