我有一个包含网址,逗号和数字的文字文件。我如何简单地提取网址直到第一个逗号?
输入:
google.com,1,2,3,4
youtube.com,5,6,7,8
facebook.com,9,9,1,2
输出:
google.com
youtube.com
facebook.com
答案 0 :(得分:4)
使用命令cut:
cut -d, -f1 [FILE]
-d,
标志表示您要在逗号上拆分,-f1
表示您想要第一个字段。例如接受来自heredoc的输入:
cut -d, -f1 <<EOF
google.com,1,2,3,4
youtube.com,5,6,7,8
facebook.com,9,9,1,2
EOF
答案 1 :(得分:1)
纯bash
解决方案:
while IFS=, read -r url _ ; do
echo "$url"
done < text_file
使用awk
就像:
awk -F, '{$0=$1}1' text_file
答案 2 :(得分:0)
sed -e "s/\([^,]*\).*/\1/g" <file>
更简单的解决方案:
sed -e "s/,.*//g" <file>
如果您需要对文件中的进行更改,请将-i
选项添加到sed
。