回答編集履歴

3

Update

2022/02/23 06:03

投稿

melian
melian

スコア21118

test CHANGED
@@ -18,3 +18,18 @@
18
18
  M11 M12 M13 M14
19
19
  ```
20
20
 
21
+ **追記**
22
+ ```bash
23
+ $ declare -a A=($(tail -n +2 source4.csv | cut -d, -f1))
24
+ $ echo "${A[@]}"
25
+ M11 M12 M13 M14
26
+
27
+ # GNU grep
28
+ $ grep --version
29
+ grep (GNU grep) 3.7
30
+
31
+ $ declare -a B=($(grep -Pzo -e '\n\s*\K(.+?)(?=\s*,)' source4.csv | tr '\0' '\n'))
32
+ $ echo "${B[@]}"
33
+ M11 M12 M13 M14
34
+ ```
35
+

2

Update

2022/02/22 18:55

投稿

melian
melian

スコア21118

test CHANGED
@@ -4,15 +4,13 @@
4
4
  #!/bin/bash
5
5
 
6
6
  function extract_first_item {
7
- # skip header
8
- [[ $1 == 0 ]] && return
9
7
  local -a c
10
8
  IFS=, read -r -a c <<< "$2"
11
9
  A+=("${c[0]}")
12
10
  }
13
11
 
14
12
  declare -a A
15
- mapfile -t -c 1 -C extract_first_item < source4.csv
13
+ mapfile -t -c 1 -s 1 -C extract_first_item < source4.csv
16
14
 
17
15
  echo "${A[@]}"
18
16
 

1

Update

2022/02/22 14:03

投稿

melian
melian

スコア21118

test CHANGED
@@ -6,9 +6,9 @@
6
6
  function extract_first_item {
7
7
  # skip header
8
8
  [[ $1 == 0 ]] && return
9
- local c
9
+ local -a c
10
- IFS=, read -r c _ _ _ <<< "$2"
10
+ IFS=, read -r -a c <<< "$2"
11
- A+=("$c")
11
+ A+=("${c[0]}")
12
12
  }
13
13
 
14
14
  declare -a A