如何删除字符后的所有文本,在这种情况下,冒号(“:”),在bash?我能把结肠也切除吗?我不知道该怎么做。
当前回答
举个例子可能有用,但如果我理解正确的话,这是可行的:
echo "Hello: world" | cut -f1 -d":"
这将把Hello: world转换为Hello。
其他回答
egrep -o '^[^:]*:'
我知道一些解决办法:
# Our mock data:
A=user:mail:password
使用awk和pipe:
$ echo $A | awk -v FS=':' '{print $1}'
user
通过bash变量:
$ echo ${A%%:*}
user
带管和sed:
$ echo $A | sed 's#:.*##g'
user
使用pipe和grep:
$ echo $A | egrep -o '^[^:]+'
user
带管切:
$ echo $A | cut -f1 -d\:
user
举个例子可能有用,但如果我理解正确的话,这是可行的:
echo "Hello: world" | cut -f1 -d":"
这将把Hello: world转换为Hello。
$ echo 'hello:world:again' |sed 's/:.*//'
hello
删除":"最后一个实例之后的所有内容
grep -o '^.*:' fileListingPathsAndFiles.txt
如果你想去掉最后一个":"
grep -o '^.*:' file.txt | sed 's/:$//'
@kp123:你想用/替换:(其中sed冒号应该是\/)