回答
echo 'A - one,B - two,C - three' | awk -F ',' '{OFS = ","} {for(i=1;i<=NF; i++) {$i=substr($i,1,1) }; print $0}'
SED解決方案:
echo 'A - one,B - two,C - three' | sed 's/\(.\)[^,]*,\{0,1\}/\1,/g;s/,$//'
如果你不介意,你可以向我解釋'sed'表達 –
@SathishKumar當然。括號中的圓點是您的第一個字符'\(。\)',那麼就會有一些非逗號字符'[^,] *'和一個可選的逗號'\ {0,1 \}',因爲最後一部分後面沒有逗號。你只用第一個字符和一個逗號代替這個每個部分,所以你有:第一個字符逗號第一個字符逗號等等,然後你用第二個替換's /,$ //'去掉最後一個逗號。而已。 – MichalH
感謝您的解釋 –
這sed的一行程序應該爲您例如工作:
sed -r 's/\s-[^,]*//g
測試:
kent$ sed -r 's/\s-[^,]*//g'<<< 'A - one,B - two,C - three'
A,B,C
如果你喜歡解決它無線日AWK:
awk -F'\\s*-[^,]*' -v OFS="" '{$1=$1}7'
將工作:
kent$ awk -F'\\s*-[^,]*' -v OFS="" '{$1=$1}7' <<<'A - one,B - two,C - three'
A,B,C
我建議在 「純」 的bash以下解決方案:
X='A - one,B - two,C - three'
IFS=',' read -ra A <<< "$X"
RES=''
for W in "${A[@]}" ; do
RES+=",${W:0:1}"
done
echo ${RES:1}
echo 'A - one,B - two,C - three'| awk '{print $1substr($3,4)substr($5,4)}'
A,B,C
- 1. 如何從字符串中提取字符串的第一個數字
- 2. 如何從字符串中提取一個字符串
- 3. 如何從另一個字符串中提取字符串php
- 4. 在C語言中如何從字符串中提取第一個字符?
- 5. 從字符串中提取一個字
- 6. 從Ruby中的一個長字符串中提取字符串
- 7. 從C#中的字符串中提取第一個數字字符
- 8. 從bourne shell中的字符串中提取n個字
- 9. 從字符串中提取第一個數字的值sql
- 10. 如何從javascript中的字符串中提取兩個字符
- 11. 如何在C#中提取字符串一個字符串的
- 12. 如何從SQL中的字符串中提取某些第n個字符
- 13. 如何從一個字符串中提取一個數字C
- 14. 從字符串中提取字符串
- 15. 從一個字符串中提取兩個子字符串
- 16. 從一個字符串中提取兩個子字符串
- 17. 如何從這個字符串中提取子字符串?
- 18. 如何獲取SQL中的字符串的第一個字符?
- 19. 從一個巨大的字符串中提取子字符串
- 20. 從提供的字符串中提取第一個令牌
- 21. 從字符串數組中獲取第一個字符串c
- 22. 如何從Python中的字符串中提取子字符串?
- 23. 如何從java中的字符串中提取子字符串
- 24. 如何從C++中的字符串中提取子字符串?
- 25. 如何從Perl中的字符串中提取子字符串?
- 26. R從字符串中提取第一個數字
- 27. 從字符串中提取第一個數字
- 28. 從字符串中提取第一個數字
- 29. 從python中的字符串中提取最後一個字符?
- 30. 從句子字符串中提取每個單詞的第一個字符
什麼你親自嘗試一下?你是否要求代碼沒有顯示任何研究工作? – Inian
你會認爲沒有任何事情會問一個問題嗎?我不是UNIX的新手,但我並不是主人,儘管 –
並不意味着無論如何都不尊重,但社區堅持在發佈問題之前發佈研究成果,而不是_blatantly_要求提供代碼。 – Inian