我有这样的 TSV 文件:
abc_1
def_2
ghi_3
jkl_4
mno_5
我想将其拆分为:
abc
def
ghi
jkl
mno
和
1
2
3
4
5
我怎么能得到那个?
我有这样的 TSV 文件:
abc_1
def_2
ghi_3
jkl_4
mno_5
我想将其拆分为:
abc
def
ghi
jkl
mno
和
1
2
3
4
5
我怎么能得到那个?
我有很多文件。文件格式为年(4位)月(2位)日(2位)
示例文件名:
示例文件名的内容
00:00:13 -> 001528
我想从文件名中提取数据作为日期,然后将其插入文件中
期望的输出
2015-01-01T00:00:13 001528
或者
2015-01-01 00:00:13 001528
我尝试了以下代码之一
for files in *txt; do
awk -F "->" 'BEGIN{OFS=""} {print FILENAME" ",$1, $2}' <$files > $files.edited
mv $files.edited $files
done
请指导。
在我的文件中mytxt
:
field1 field2
------ -------
this are numbers 12345
this letters abc def ghi
假设我想将第一个字段存储在数组中:
i=0
while read line; do
field_one[$i]=$(echo $line | awk '{print $1}')
echo ${field_one[i]}
((i++))
done < mytxt
那会给我this
两次输出。
关于如何将它们存储在数组中并获得输出的任何想法:
this are numbers
this letters
我尝试过更改分隔符、压缩空格和使用sed
,但我被卡住了。任何提示将不胜感激。
我的最终目标是将这两个字段存储在一个数组中。
我是编程新手!!
任何人都可以帮助删除:
时间戳中的第一个位置::29.06.2019 23:03:17
目前我正在尝试使用 awk/cut 命令执行此操作,如下所示:
TDS="$(grep 'Logfile started' process.log | awk '{print $3,$4}' | cut -d: -f2)"
echo "$TDS"
29.06.2019 23
而且输出不是我想要的!我想将其打印为29.06.2019 23:03:17
.
当我输入 xfce4-terminal 命令时:
ls -pltrh --color=always --time-style="+%d-%b-%Y $newline%H:%M" | grep --color=never -v / | cut -d ' ' -f6-
echo -e -n '\033[1;5;36m'"Diretório §⮕ "
echo -e -n '\033[1;5;33m'
pwd
echo -e '\033[00m'
它完美无瑕,但我无法成功设置别名~/.bashrc
,它给出了有关| cut -d ' ' -f6-
部分命令的错误(未找到别名)。
我该如何解决?或者我应该完全改变这个命令?
操作系统:Xubuntu 16.04.6
我有这样的进程正在运行
me 26175 1.7 2.5 1483984 100148 tty2 Sl+ 12:49 0:04 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat
me 26237 0.0 0.7 311516 29176 tty2 S+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=zygote --no-sandbox
me 26276 0.2 2.0 550496 81800 tty2 Sl+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=gpu-process --channel=26175.0.1924433599 --mojo-application-channel-token=3E65B226573BBE452FCCE4212BC242ED --no-sandbox --window-depth=24 --x11-visual-id=33 --supports-dual-gpus=false --gpu-driver-bug-workarounds=5,18,56 --gpu-vendor-id=0x0000 --gpu-device-id=0x0000 --gpu-driver-vendor --gpu-driver-version --gpu-driver-date --v8-natives-passed-by-fd --v8-snapshot-passed-by-fd
me 26284 0.2 3.8 1085556 150812 tty2 Sl+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=renderer --no-sandbox --primordial-pipe-token=85EEA61A3C800C4096858B6AE571B4EB --lang=en-US --node-integration=true --enable-pinch --num-raster-threads=2 --content-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --video-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --disable-accelerated-video-decode --mojo-channel-token=F13ADFBA9E2E351C09B10692D10BCFBE --mojo-application-channel-token=85EEA61A3C800C4096858B6AE571B4EB --channel=26175.1.78915562 --v8-natives-passed-by-fd --v8-snapshot-passed-by-fd
我希望使用cut
而不是像 gwak 这样的高级工具来获取列 pid
ps -aux | grep wechat | sed "s/$USER/me/g" | cut -f 2 | head -n 4
me 26175 1.2 2.5 1483984 100220 tty2 Sl+ 12:49 0:05 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat
me 26237 0.0 0.7 311516 29176 tty2 S+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=zygote --no-sandbox
me 26276 0.1 2.0 550496 81800 tty2 Sl+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=gpu-process --channel=26175.0.1924433599 --mojo-application-channel-token=3E65B226573BBE452FCCE4212BC242ED --no-sandbox --window-depth=24 --x11-visual-id=33 --supports-dual-gpus=false --gpu-driver-bug-workarounds=5,18,56 --gpu-vendor-id=0x0000 --gpu-device-id=0x0000 --gpu-driver-vendor --gpu-driver-version --gpu-driver-date --v8-natives-passed-by-fd --v8-snapshot-passed-by-fd
me 26284 0.1 3.8 1085556 150812 tty2 Sl+ 12:49 0:00 /snap/electronic-wechat/7/dist/electronic-wechat-linux-x64/electronic-wechat --type=renderer --no-sandbox --primordial-pipe-token=85EEA61A3C800C4096858B6AE571B4EB --lang=en-US --node-integration=true --enable-pinch --num-raster-threads=2 --content-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --video-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --disable-accelerated-video-decode --mojo-channel-token=F13ADFBA9E2E351C09B10692D10BCFBE --mojo-application-channel-token=85EEA61A3C800C4096858B6AE571B4EB --channel=26175.1.78915562 --v8-natives-passed-by-fd --v8-snapshot-passed-by-fd
它得出的结论是输出没有由制表符分隔,然后尝试使用空格
me@host:~$ ps -aux | grep wechat | sed "s/$USER/me/g" | cut -d ' ' -f 2 | head -n 4
me@host:~$
但是得到大量的空间,并且 pid 神秘地位于字段 4
me@host:~$ ps -aux | grep wechat | sed "s/$USER/me/g" | cut -d ' ' -f 4 | head -n 4
26175
26237
26276
26284
me@host~$
我在这里很困惑,我怎么能在没有“反复试验”的情况下决定切割哪个领域?
我想从ps
结果中检索第二列:
test@pc:~$ ps -e | head -5 | cut -d '' -f1
PID TTY TIME CMD
1 ? 00:00:03 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
它不起作用,我了解到它可以通过以下复杂方式解决:
test@pc:~$ ps -e | head -5 | gawk '{print $2}'
TTY
?
?
?
?
如何使用通用工具解决问题cut
?